DocValues are better than payloads.

E.g. index a NumericDocValuesField with each doc, holding your id.

Then at search time you can use MultiDocValues.getNumericValues.

Mike McCandless

http://blog.mikemccandless.com


On Fri, Mar 21, 2014 at 4:35 PM, Rohit Banga <iamrohitba...@gmail.com> wrote:
> Hi everyone
>
> When I query a lucene index, I get back a list of document ids. This index
> search is fast. Now for all documents matching the result I need a unique
> String field called "id" which is stored in the document. From the
> documentation I gather that document ids are internal and I should not use
> them for referencing my own data structures. Currently I iterate over all
> the hits matching the document and then for each one I get the document to
> read the field using IndexReader.document().
> http://lucene.apache.org/core/4_5_0/core/org/apache/lucene/index/IndexReader.html
>
> I read the "id" field from the document and then use it further in my
> processing logic.
> The problem is that reading all documents to get all "id"'s is turning out
> to be very slow. It is the bottleneck in my application. It would be nice
> to have a way if lucene could return some metadata along with the internal
> document id when I did a search. I do not want to read all documents just
> to retrieve this metadata.
>
> The best solution I have come across searching on the net is to use
> payloads which will be returned by the fast index search query along with
> the document ids.
>
> Is my understanding correct that using payloads I can get "id" string field
> for all my documents faster than reading my entire document?
>
> I am not able to find a good example of how to store and retrieve payloads?
> Can you please point me to a good resource to learn how to use payloads and
> how they will impact performance?
> I am using Lucene 4.5.
>
> Thanks
> Rohit Banga
> http://iamrohitbanga.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to