Re: -field1:value1 OR field2:value2
On 9/26/2016 3:56 AM, Sandeep Khanzode 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)? This is a fairly common issue that users run into. I just created a wiki page to explain the situation. Consider it a starting point that can be refined by additional edits: https://wiki.apache.org/solr/NegativeQueryProblems Thanks, Shawn
Re: -field1:value1 OR field2:value2
Sure. Noted. Thanks for the link ... SRK On Monday, September 26, 2016 8:29 PM, Erick Ericksonwrote: 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 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 > 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 >> wrote: >> >> >> Yup. That works. So does (*:* NOT ...) >> Thanks, Alex. SRK >> >> On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitch >> 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 >> 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 >> >> >> >> >>
Re: -field1:value1 OR field2:value2
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 Rafalovitchwrote: > 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 > 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 >> wrote: >> >> >> Yup. That works. So does (*:* NOT ...) >> Thanks, Alex. SRK >> >> On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitch >> 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 >> 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 >> >> >> >> >>
Re: -field1:value1 OR field2:value2
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 Khanzodewrote: > 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 > wrote: > > > Yup. That works. So does (*:* NOT ...) > Thanks, Alex. SRK > > On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitch > 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 > 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 > > > > >
Re: -field1:value1 OR field2:value2
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 Khanzodewrote: Yup. That works. So does (*:* NOT ...) Thanks, Alex. SRK On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitch 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 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
Re: -field1:value1 OR field2:value2
Yup. That works. So does (*:* NOT ...) Thanks, Alex. SRK On Monday, September 26, 2016 3:03 PM, Alexandre Rafalovitchwrote: 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 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
Re: -field1:value1 OR field2:value2
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 Khanzodewrote: > 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