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 aravinth thangasami <ar...@gmail.com> on 2017/06/28 09:12:37 UTC
Clarification on Multiple calls to Off heap Memory & on combining storedFields
Hi all,
Our search System built on top of Lucene 4.10
we are having multiple indexes on a single machine with each index have
millions of documents each having about 500 to 1000 fields
we are using Lucene40StoredFieldsFormat to avoid compression of
storedFields it seems to give us better performance
We are using StoredFields to update the index.for every update call, we
will read the old document from the index, update the changed fields and
add the updated document to the index and delete the old
Inside Lucene40StoredFieldsreader's, we are calling readField method for
every field inside the document during update.
So we thought of combining all the storedFields like Lucene Stored inside
disk and storing it as single stored field so that we can avoid the cost of
multiple readField
Inside readField, we are reading bytes from Non-heap DirectByteBuffers. So
I think this will reduce the number of calls to the Off-heap memory.
Correct me if I'm wrong.
Please clarify following questions
Does access off-heap memory is costly?
Is there any overhead in using readField multiple times?
Thanks
Aravinth