Please do not cross post to multiple lists, it's considered bad etiquette. Solr does not implement strict boolean logic, please read:
https://lucidworks.com/blog/2011/12/28/why-not-and-or-and-not/ Best, Erick On Mon, Sep 26, 2016 at 2:58 AM, Alexandre Rafalovitch <arafa...@gmail.com> wrote: > I don't remember specifically :-(. Search the archives > http://search-lucene.com/ or follow-up on Solr Users list. Remember to > mention the version of Solr, as there were some bugs/features/fixes > with OR, I think. > > Regards, > Alex. > ---- > Newsletter and resources for Solr beginners and intermediates: > http://www.solr-start.com/ > > > On 26 September 2016 at 16:56, Sandeep Khanzode > <sandeep_khanz...@yahoo.com.invalid> wrote: >> Hi Alex, >> It seems that this is not an issue with AND clause. For example, if I do ... >> field1:value1 AND -field2:value2 >> ... the results seem to be an intersection of both. >> Is this an issue with OR? Which is which we replace it with an implicit (*:* >> NOT)? SRK >> >> On Monday, September 26, 2016 3:09 PM, Sandeep Khanzode >> <sandeep_khanz...@yahoo.com.INVALID> wrote: >> >> >> Yup. That works. So does (*:* NOT ...) >> Thanks, Alex. SRK >> >> On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitch >> <arafa...@gmail.com> wrote: >> >> >> Try field2:value2 OR (*:* -field1=value1) >> >> There is a magic in negative query syntax that breaks down when it >> gets more complex. It's been discussed on the mailing list a bunch of >> times, though the discussions are hard to find by title. >> >> Regards, >> Alex. >> ---- >> Newsletter and resources for Solr beginners and intermediates: >> http://www.solr-start.com/ >> >> >> On 26 September 2016 at 16:06, Sandeep Khanzode >> <sandeep_khanz...@yahoo.com.invalid> wrote: >>> Hi, >>> If I query for >>> -field1=value1 ... I get, say, 100 records >>> and if I query for >>> field2:value2 ... I may get 200 records >>> >>> I would assume that if I query for >>> -field1:value1 OR field2:value2 >>> >>> ... I should get atleast 100 records (assuming they overlap, if not, upto >>> 300 records). I am assuming that the default joining is OR. >>> But I do not ... >>> The result is that I get less than 100. If I didn't know better, I would >>> have said that an AND is being done. >>> >>> I am expecting records that EITHER do NOT contain field1:value1 OR which >>> contain field2:value2. >>> >>> Please let me know what I am missing. Thanks. >>> >>> SRK >> >> >> >> >>