lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomoko Uchida <tomoko.uchida.1...@gmail.com>
Subject Re: 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 13:34:44 GMT
Hi Khurram,

Lucene query parser's OR operator or Occur.Should are work as expected
for me, I suspect you could miss some points.

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

It does not look like an ordinary lucene query string to me ('#' is
not an operator of StandardQueryParser or ClassicQueryParser,) which
parser do you use?
If you try to build a query by Java code, I suggest you post your
exact code snippet.

p.s. dev mailing list is not for user questions, you should post such
questions to java-user list only, anyway. ;)

Regards,
Tomoko

2018年8月24日(金) 19:45 Khurram Shehzad <khurramx@outlook.com>:
>
> 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



--
Tomoko Uchida

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message