lucenenet-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Advincula" <Eric.Advinc...@co.mohave.az.us>
Subject RE: How to loop through all the entries for a field
Date Fri, 23 Oct 2009 16:03:44 GMT
That worked great.
 
Thanks

>>> 

From: "Digy" <digydigy@gmail.com>
To:<lucene-net-user@incubator.apache.org>
Date: 10/23/2009 8:54 AM
Subject: RE: How to loop through all the entries for a field
            while( (term = tEnum.Term())!=null )
            {
    ....
                Lucene.Net.Index.TermDocs tDocs =  reader.TermDocs(term);
                tDocs.Next();
                string otherValue =
reader.Document(tDocs.Doc()).GetField("PageCount").StringValue();

                tEnum.Next();
            };

but ,as i said (asked) before, what would you do if two books have the same
title with different # of pages?

DIGY.


-----Original Message-----
From: Eric Advincula [mailto:Eric.Advincula@co.mohave.az.us] 
Sent: Friday, October 23, 2009 4:27 PM
To: lucene-net-user@incubator.apache.org 
Subject: Re: How to loop through all the entries for a field

This is what I have:

                reader = IndexReader.Open(Commons.Constants._FSDirectory);
                termEnum = reader.Terms(new Term("BookTitle", ""));
                while ((term = termEnum.Term()) != null)
                {
                    if (!term.Field().Equals("Title"))
                        break;

                    if (term.Text() == title)
                    {
                        termDocs = reader.TermDocs(term);
                        
                        result = true;
                        break;
                    }

                    termEnum.Next();
                }

But i'm not sure what to do with termDocs to get the information contained
in PageCount.  The pages vary from book to book.

Thanks

>>> 

From: digy digy <digydigy@gmail.com>
To:<lucene-net-user@incubator.apache.org>
Date: 10/23/2009 2:06 AM
Subject: Re: How to loop through all the entries for a field
You can use "Lucene.Net.Index.TermDocs tDocs =  reader.TermDocs(term)"  in
your loop.

DIGY

PS: Another Question: How many pages does the book "T1" have?

Title    : T1
Author   : A1
#ofPages : 100
Publisher: P1

Title    : T1
Author   : A2
#ofPages : 200
Publisher: P1

Title    : T1
Author   : A1
#ofPages : 102
Publisher: P2

On Fri, Oct 23, 2009 at 3:11 AM, Eric Advincula <
Eric.Advincula@co.mohave.az.us> wrote:

> Question, now that i'm looping through the BookTitle, how can i also get
> the PageCount field that is part of the document.  So every BookTitle has
a
> PageCount to signify the total number of pages per book.
> Thanks
>
>
>
>                reader = IndexReader.Open(Commons.Constants._FSDirectory);
>                termEnum = reader.Terms(new Term("BookTitle", ""));
>
>
>                while ((term = termEnum.Term()) != null)
>                {
>                    if (!term.Field().Equals("BookTitle"))
>                        break;
>
>                    map = new SearchResultMap();
>                    map.Title = term.Text();
>
>                    control.Items.Add(map);
>
>                    termEnum.Next();
>                }
>
>
> >>>
>
> From: "Eric Advincula" <Eric.Advincula@co.mohave.az.us>
> To:<lucene-net-user@incubator.apache.org>
> Date: 10/22/2009 2:29 PM
> Subject: RE: How to loop through all the entries for a field
> nevermind I figured it out.  I did this:
>
>                while ((term = termEnum.Term()) != null)
>                {
>                    if (!term.Field().Equals("BookTitle"))
>                        break;
>
>                    map = new SearchResultMap();
>                    map.Title = term.Text();
>
>                    control.Items.Add(map);
>
>                    termEnum.Next();
>                }
>
> thanks for all the help
>
>
> >>>
>
> From: "Eric Advincula" <Eric.Advincula@co.mohave.az.us>
> To:<lucene-net-user@incubator.apache.org>
> Date: 10/22/2009 2:22 PM
> Subject: RE: How to loop through all the entries for a field
> It works but continues even after the listing.
> How do you know if your on your last term?  I tried it and it does work
but
> continues.  How do you know to check if its the last entry?
>
> Thanks
>
> >>>
>
> From: "Digy" <digydigy@gmail.com>
> To:<lucene-net-user@incubator.apache.org>
> Date: 10/22/2009 12:13 PM
> Subject: RE: How to loop through all the entries for a field
> Something like that?
>
>
>
>      Lucene.Net.Index.IndexReader reader =
> Lucene.Net.Index.IndexReader.Open(dir);
>
>      Lucene.Net.Index.TermEnum tEnum = reader.Terms(new
> Lucene.Net.Index.Term("BookTitle"));
>
>      do
>
>      {
>
>            Lucene.Net.Index.Term t = tEnum.Term();
>
>            Console.WriteLine(t.Text());
>
>      } while (tEnum.Next());
>
>
>
> DIGY
>
>
>
> -----Original Message-----
> From: Eric Advincula [mailto:Eric.Advincula@co.mohave.az.us] 
> Sent: Thursday, October 22, 2009 6:51 PM
> To: lucene-net-user@incubator.apache.org 
> Subject: How to loop through all the entries for a field
>
>
>
> I have a field in called BookTitle.  I want to loop through all the
entries
> without doing a search.  I just want to get the list of BookTitle's that
is
> in this field:
>
>
>
> I tried IndexReader but MaxDocs() doesnt work because it returns
everything
> and I have other fields in their which is allot bigger.
>
>
>
> Thanks
>
>
>
>
>
>
>
>
>
>
>
> 
>





!DSPAM:4ae1d08d837949230893912!



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message