You sure can. Or you can use the SetBasedFieldSelector that already exists in o.a.lucene.document.

-Grant

On Mar 7, 2008, at 5:26 AM, Sergey Kabashnyuk wrote:

Hi.
I have a question about retrieving information.
Lets say I have an index which contents a millions of documents with 2-3 small fields an a 10 large fields. Then I run a query which returns me a 1000 of hits. But I am interested only one small field, and I don't want to load other fields.

Can I do something like what?

     int id = hits.id(n);

     FieldSelector fieldSelector = new FieldSelector() {
       public FieldSelectorResult accept(String fieldName) {
         if(fieldName.equals(field))
           return FieldSelectorResult.LOAD_AND_BREAK;
         return FieldSelectorResult.NO_LOAD;
       }
     };

     Document doc = reader.document(id, fieldSelector);
     if(doc == null)
       throw new IOException("Document with id "+id+" not found");
     return doc.get(field);

n from 0 to hits.length().

Best regards,
Sergey

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------
Grant Ingersoll
http://www.lucenebootcamp.com
Next Training: April 7, 2008 at ApacheCon Europe in Amsterdam

Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

  • Hits. Sergey Kabashnyuk
    • Re: Hits. Grant Ingersoll

Reply via email to