> Hi,
>  
> We plan to migrate from lucene 5.5 to 6.5. We have been using 
> DocValuesTermsFilter extensively which was deprecated in Lucene 5.5 and 
> removed in Lucene 6.0.
> The Javadoc specifies to use DocValuesTermsQuery and 
> BoolenaClause.Occur.Filter instead. However, as per our local tests, the time 
> taken to search documents has increased with this change.
>  
> Below is one of the scenarios in our application -
> We do a search within a search.
>  
> (Before migration to Lucene 5.5)
> The first search is on a text field with discrete values. (There is no 
> pattern to the value of this text field. Here the terms[] ranges from 1 to 
> 200k in size.)  – We use DocValuesTermsFilter and pass it is as Filter 
> parameter to search method.
> The second search is on result of step 1- This could be either a TermQuery or 
> NumericRangeQuery, evaluated to query and added as query parameter to search 
> method.
>  
> (After migration to Lucene 6.5)
> The first search is on a text field with discrete values. (There is no 
> pattern to the value of this text field. Here the terms[] ranges from 1 to 
> 200k in size.)  – We use DocValuesTermsQuery and add it to BooleanQuery with 
> Occur.Filter.
> The second search is on result of step 1- This could be either a TermQuery or 
> NumericRangeQuery added to BooleanQuery with Occur.MUST.
> The booleanQuery is build and passed to search method.
>  
> This query execution after migration takes 5x-10x times more as compared to 
> using DocValuesTermsFilter.
>  
> Is there a better class to generate query in our scenario than the one used 
> above? Or is there anything that I am missing?
> Any insights would help! Thanks.

Reply via email to