lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Khurram Shehzad <khurr...@outlook.com>
Subject SQL OR in lucene : where ((term1=a and term2=b) OR (term3=a and term4=b)) and context in (2,3,4,5.....200)
Date Fri, 24 Aug 2018 10:45:31 GMT
Hi,


I have a requirement to replicate following SQL query logic containing OR condition as

where

((term1=a and term2=b) OR (term3=a and term4=b)) and context in (2,3,4,5.....200)


roughly in lucene


(+term1:a +term2:b) (+term3:a and +term4:b) #context:2 4 7 ... 198


It doesn't seem to me getting desired effect of "OR" logic using Occur.Should.


Above lucene query will retrieve all documents satisfying context condition and disregarding
first two conditions.


But it can be workable, if I manage to apply context condition separately.


More probably using custom filtering through Collector interface https://lucene.apache.org/core/7_3_1/core/org/apache/lucene/search/Collector.html.


Any idea please.


Regards,
Khurram

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message