Thanks Uwe, I think you are recommending 
IndexOrDocValuesQuery/DocValuesRangeQuery, and the articles by Adrien,  
https://www.elastic.co/blog/better-query-planning-for-range-queries-in-elasticsearch
 It looks promising for my requirement, I will try on that. ---- On Thu, 09 Aug 
2018 16:04:27 +0800 Uwe Schindler <u...@thetaphi.de> wrote ---- Hi, IMHO: I'd 
split the whole code into a BooleanQuery with two filter clauses. The reverse 
index based condition (term condition, e.g., TermInSetQuery) gets added as a 
Occur.FILTER and the DocValues condition is a separate Occur.FILTER. If Lucene 
executes such a query, it would use the more specific condition (based on cost) 
to lead the execution, which should be the terms condition. The docvalues 
condition is then only checked for matches of the first. But you can still go 
and implement the two-phase iterator, but I'd not do that. Uwe ----- Uwe 
Schindler Achterdiek 19, D-28357 Bremen http://www.thetaphi.de eMail: 
u...@thetaphi.de > -----Original Message----- > From: alex stark 
<alex.st...@zoho.com> > Sent: Thursday, August 9, 2018 9:12 AM > To: java-user 
<java-user@lucene.apache.org> > Cc: java-user@lucene.apache.org > Subject: Re: 
Legacy filter strategy in Lucene 6.0 > > Thanks Adrien, I want to filter out 
docs base on conditions which stored in > doc values (those conditions are 
unselective ranges which is not appropriate > to put into reverse index), so I 
plan to use some selective term conditions to > do first round search and then 
filter in second phase. I see there is two > phase iterator, but I did not find 
how to use it. Is it a appropriate scenario to > use two phase iterator? or It 
is better to do it in a collector? Is there any > guide of two phase iterator? 
Best Regards ---- On Wed, 08 Aug 2018 > 16:08:39 +0800 Adrien Grand 
<jpou...@gmail.com> wrote ---- Hi Alex, These > strategies still exist 
internally, but BooleanQuery decides which one to use > automatically based on 
the cost API (cheaper clauses run first) and whether > sub clauses produce 
bitset-based or postings-based iterators. Le mer. 8 août > 2018 à 09:46, alex 
stark <alex.st...@zoho.com> a écrit : > As FilteredQuery > are removed in 
Lucene 6.0, we should use boolean query to > do the > filtering. How about the 
legacy filter strategy such as > > LEAP_FROG_FILTER_FIRST_STRATEGY or 
QUERY_FIRST_FILTER_STRATEGY? > What is the > current filter strategy? Thanks, 
--------------------------------------------------------------------- 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