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 <khurr...@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-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to