OR and AND queries case sensitive in q param?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

OR and AND queries case sensitive in q param?

gnandre
Hi,

in Solr 6.3, I was able to use OR and AND operators in case insensitive
manner.

E.g.
If I have two documents like following in my corpus:
document 1:
{
id:1
author:rick
}

document 2:
{
id:2
author:morty
}

Then if I pass 'rick OR morty' to q param then I would get both documents
back. I would get both documents back even if I pass 'rick or morty'.

In Solr 8.2, I am not able to 'rick or morty' does not give any results
back. 'rick OR morty' gives both results back.

Is this intentional change?
Reply | Threaded
Open this post in threaded view
|

Re: OR and AND queries case sensitive in q param?

Shawn Heisey-2
On 9/12/2019 5:50 PM, Arnold Bronley wrote:
> in Solr 6.3, I was able to use OR and AND operators in case insensitive
> manner.

The edismax query parser supports lowercase operators, if the
lowercaseOperators parameter is set to true.  I believe it defaults to
false.

> Then if I pass 'rick OR morty' to q param then I would get both documents
> back. I would get both documents back even if I pass 'rick or morty'.
>
> In Solr 8.2, I am not able to 'rick or morty' does not give any results
> back. 'rick OR morty' gives both results back.

The default (lucene) query parser does NOT support lowercase operators.
It never has.

> Is this intentional change?

The change you may be experiencing is that I THINK at some point (no
idea when) the default for lowercaseOperators (which only works with
edismax) changed from true to false.

Thanks,
Shawn
Reply | Threaded
Open this post in threaded view
|

Re: OR and AND queries case sensitive in q param?

Paras Lehana
Hey Shawn,

Love your Solr articles! Just joined here.

The edismax query parser supports lowercase operators, if the
> lowercaseOperators parameter is set to true. I believe it defaults to
> false.


 To add - Yes, *lowercaseOperators* defaults to *false* as per Solr Ref
Guide 8.1
<https://lucene.apache.org/solr/guide/8_1/the-extended-dismax-query-parser.html#extended-dismax-parameters>
and github source code
<https://lucene.apache.org/solr/guide/8_1/the-extended-dismax-query-parser.html#extended-dismax-parameters>.
However, Ref Guide 6.6
<https://lucene.apache.org/solr/guide/6_6/the-extended-dismax-query-parser.html#TheExtendedDisMaxQueryParser-ThelowercaseOperatorsParameter>
doesn't specify the default value.

Arnold, additionally, I suggest you to confirm about your *mm* (minimum
match) parameter and stop words filter (which might had 'or' as a stop
word) though I assume that you are using exactly the same query/schema.

On Fri, 13 Sep 2019 at 06:11, Shawn Heisey <[hidden email]> wrote:

> On 9/12/2019 5:50 PM, Arnold Bronley wrote:
> > in Solr 6.3, I was able to use OR and AND operators in case insensitive
> > manner.
>
> The edismax query parser supports lowercase operators, if the
> lowercaseOperators parameter is set to true.  I believe it defaults to
> false.
>
> > Then if I pass 'rick OR morty' to q param then I would get both documents
> > back. I would get both documents back even if I pass 'rick or morty'.
> >
> > In Solr 8.2, I am not able to 'rick or morty' does not give any results
> > back. 'rick OR morty' gives both results back.
>
> The default (lucene) query parser does NOT support lowercase operators.
> It never has.
>
> > Is this intentional change?
>
> The change you may be experiencing is that I THINK at some point (no
> idea when) the default for lowercaseOperators (which only works with
> edismax) changed from true to false.
>
> Thanks,
> Shawn
>


--
--
Regards,

*Paras Lehana* [65871]
Software Programmer, Auto-Suggest,
IndiaMART Intermesh Ltd.

8th Floor, Tower A, Advant-Navis Business Park, Sector 142,
Noida, UP, IN - 201303

Mob.: +91-9560911996
Work: 01203916600 | Extn:  *8173*

--
IMPORTANT: 
NEVER share your IndiaMART OTP/ Password with anyone.