Re: what's replacement of FieldCache in Lucene 7

2018-04-13 Thread Yonghui Zhao
Got it, make sense. Thanks Adrien. 2018-04-13 19:16 GMT+08:00 Adrien Grand : > Queries should be fine: they are required to produce sorted iterators since > 5.0 when we removed the accetDocsOutOfOrder option on collectors. > > Le ven. 13 avr. 2018 à 13:10, Yonghui Zhao

Re: what's replacement of FieldCache in Lucene 7

2018-04-13 Thread Adrien Grand
Queries should be fine: they are required to produce sorted iterators since 5.0 when we removed the accetDocsOutOfOrder option on collectors. Le ven. 13 avr. 2018 à 13:10, Yonghui Zhao a écrit : > I can sort doc id and then fetch field via docvalue. > > but another big

Re: what's replacement of FieldCache in Lucene 7

2018-04-13 Thread Yonghui Zhao
I can sort doc id and then fetch field via docvalue. but another big scenario for field cache is in custom score query, we use field cache to compute score, stored fields can't work here for performance issue. If I still use docvalue, I must make sure all queries are scored in order, I think

Re: what's replacement of FieldCache in Lucene 7

2018-04-13 Thread Adrien Grand
Performance may be worse with stored fields indeed. In general Lucene makes the assumption that millions of documents are queried but only ~100 documents are retrieved in the end, so the bottleneck should be query processing, not retrieving stored fieds. Le ven. 13 avr. 2018 à 05:27, Yonghui Zhao

Re: what's replacement of FieldCache in Lucene 7

2018-04-12 Thread Yonghui Zhao
My case is when I get some docs from lucene, I need also get some field value of the retrieved docs. For example in lucene 4, I use FieldCache like this. FieldCache.DEFAULT.getTerms(reader, name, false).get(locDocId).utf8ToString(); FieldCache.DEFAULT.getInts(reader, name,

Re: what's replacement of FieldCache in Lucene 7

2018-04-12 Thread Adrien Grand
Hello, Doc values should be used instead of the field cache indeed. Note that this require to add them to your documents at index time, eg. with a NumericDocValuesField. Regarding random access, maybe you can use the advanceExact API, which exists on all doc-value iterators. Just make sure to

what's replacement of FieldCache in Lucene 7

2018-04-12 Thread Yonghui Zhao
Hi, I am upgrading my project from Lucene 4 to 7. FieldCache is removed in lucene 7, DocValue is replacement? But seems DocValue doesn't support random access. I need random access to get some specified field value quickly. So how to solve it?