You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Sergey Kabashnyuk <ks...@gmail.com> on 2008/03/07 11:26:14 UTC
Hits.
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: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Hits.
Posted by Grant Ingersoll <gs...@apache.org>.
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: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
--------------------------
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: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org