Example #1
0
        static void DumpTerm
        (
            [NotNull] IrbisConnection connection,
            [NotNull] TermInfo term
        )
        {
            Console.WriteLine(term.Text);

            PostingParameters parameters = new PostingParameters
            {
                Database = connection.Database,
                Term     = term.Text
            };

            TermPosting[] postings = connection.ReadPostings(parameters);
            Console.WriteLine("\tPostings: {0}", postings.Length);
            foreach (TermPosting posting in postings)
            {
                Console.WriteLine
                (
                    "\tMFN={0} Tag={1} Occ={2} Count={3}",
                    posting.Mfn,
                    posting.Tag,
                    posting.Occurrence,
                    posting.Count
                );

                try
                {
                    MarcRecord  record = connection.ReadRecord(posting.Mfn);
                    RecordField field  = record.Fields
                                         .GetField(posting.Tag)
                                         .GetOccurrence(posting.Occurrence - 1);
                    if (ReferenceEquals(field, null))
                    {
                        Console.WriteLine();
                    }
                    else
                    {
                        Console.WriteLine
                        (
                            "\t{0}",
                            field.ToText()
                        );
                        Console.WriteLine();
                    }
                }
                catch
                {
                    // Nothing to do here
                }
            }
            Console.WriteLine();
        }