The file is mapped when the index reader is open. Retrieving one or more
fields always requires a single disk seek since all values for a given
document are store together, just make sure to perform a single call to
IndexReader.document with the list of fields that you want to retrieve
rather than call this method once for each field, or you will pay the price
for decompression every time.

Le mer. 21 juin 2017 à 10:44, aravinth thangasami <
aravinththangas...@gmail.com> a écrit :

> Hi all,
>
> We are doing experiment, that combining multiple fields into single field
> as using it as StoredField
> While retrieving, Instead of retrieving multiple time, we can do with the
> Single call.
> we thought of avoiding multiple disk calls for reading multiple fields.
>
> we have an index with million documents and each document having 1000
> Fields.
> we are using Lucene 4.10
>
> Initially, we combined formed JSON object with multiple key values,
> converted to String and stored as a single storedField.
> we found that converting JSON to String and getting JSON back from String
> consumes more time than the individual reading of fields
>
> further, Instead of using JSON, we thought of using HashMap, so that we can
> serialise and store as StoredField. While retrieving we deserialize to get
> back  HashMap.
>
> Still, we could get any improvement compared to retrieving as multiple
> individual single field.
>
>
> Please clarify me for these questions.
>
> How bytebuffer loaded for stored fields in a  large document with 1000
> fields?
> Is there any size limitation for loading bytebuffer?
>
> When the mapping of storedFields happen?
> Does it happen during indexsearcher opening?
>
> Is there any better approach to achieve what we are doing?
>
>
>
>
> Thanks
> Aravinth
>

Reply via email to