You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Eyyub Çil <ec...@gmail.com> on 2017/03/25 16:21:51 UTC
ComplexPhrase WildCard Case Sensitivy problem
Hello,
I have a problem with ComplexPhrase and TurkishLowerCaseFilterFactory.
When I search like {!complexphrase}SContent_tinx:"6* YAŞINDA",
{!complexphrase}SContent_tinx:"6* yaşında", results is correct.
{ "responseHeader":{ "zkConnected":true, "status":0, "QTime":104, "params":{
"q":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"", "debug":"query", "indent
":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
numFound":15,"start":0,"maxScore":5972.9,"docs":[] }, "debug":{ "
rawquerystring":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"", "querystring
":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
"parsedquery":"ComplexPhraseQuery(\"6*
YAŞINDa\")", "parsedquery_toString":"\"6* YAŞINDa\"", "QParser":
"ComplexPhraseQParser"}}
But If I want to search like {!complexphrase}SContent_tinx:"60 YAŞIND*" or
{!complexphrase}SContent_tinx:"60 yaşınd*", *NumFound is 0* or result
changes according to Case Sensitive condition.
{ "responseHeader":{ "zkConnected":true, "status":0, "QTime":10, "params":{
"q":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"", "debug":"query", "indent
":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
numFound":0,"start":0,"maxScore":0.0,"docs":[] }, "debug":{ "rawquerystring
":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"",
"querystring":"{!complexphrase}SContent_tinx:\"60
YAŞIND*\"", "parsedquery":"ComplexPhraseQuery(\"60 YAŞIND*\")", "
parsedquery_toString":"\"60 YAŞIND*\"", "QParser":"ComplexPhraseQParser"}}
What is reason of this? How can I solve this?
Thank All
Re: ComplexPhrase WildCard Case Sensitivy problem
Posted by Erick Erickson <er...@gmail.com>.
Mikhail:
I just checked and I don't think CPQP is passing the terms through the
lowercase filter when it's a phrase. I used the text_tr fieldType in
the techproducts schema and get these relevant bits:
q=eoe:YASIN*
parsedquery: "eoe:yasın*"
q={!complexphrase}eoe:YASIN*
parsedquery: "eoe:yasın*"
but
q={!complexphrase}eoe:"YASIN*"
parsedquery: "ComplexPhraseQuery("YASIN*")",
FWIW
Erick
On Sat, Mar 25, 2017 at 11:15 AM, Mikhail Khludnev <mk...@apache.org> wrote:
> Hello
> It sounds similar to
> https://lucidworks.com/2011/11/29/whats-with-lowercasing-wildcard-multiterm-queries-in-solr/
> (yep, I see TurkishLowerCaseFilterFactory there)
> What's your analyzer for this field? Does it work for plain wildcards
> queries? I'm asking because CPQP adds an oddity sometimes.
>
>
> On Sat, Mar 25, 2017 at 7:21 PM, Eyyub Çil <ec...@gmail.com> wrote:
>
>> Hello,
>>
>> I have a problem with ComplexPhrase and TurkishLowerCaseFilterFactory.
>>
>> When I search like {!complexphrase}SContent_tinx:"6* YAŞINDA",
>> {!complexphrase}SContent_tinx:"6* yaşında", results is correct.
>>
>> { "responseHeader":{ "zkConnected":true, "status":0, "QTime":104,
>> "params":{
>> "q":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"", "debug":"query",
>> "indent
>> ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
>> numFound":15,"start":0,"maxScore":5972.9,"docs":[] }, "debug":{ "
>> rawquerystring":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
>> "querystring
>> ":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
>> "parsedquery":"ComplexPhraseQuery(\"6*
>> YAŞINDa\")", "parsedquery_toString":"\"6* YAŞINDa\"", "QParser":
>> "ComplexPhraseQParser"}}
>>
>>
>> But If I want to search like {!complexphrase}SContent_tinx:"60 YAŞIND*" or
>> {!complexphrase}SContent_tinx:"60 yaşınd*", *NumFound is 0* or result
>> changes according to Case Sensitive condition.
>> { "responseHeader":{ "zkConnected":true, "status":0, "QTime":10, "params":{
>> "q":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"", "debug":"query",
>> "indent
>> ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
>> numFound":0,"start":0,"maxScore":0.0,"docs":[] }, "debug":{
>> "rawquerystring
>> ":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"",
>> "querystring":"{!complexphrase}SContent_tinx:\"60
>> YAŞIND*\"", "parsedquery":"ComplexPhraseQuery(\"60 YAŞIND*\")", "
>> parsedquery_toString":"\"60 YAŞIND*\"", "QParser":"ComplexPhraseQParser"}}
>>
>>
>> What is reason of this? How can I solve this?
>>
>> Thank All
>>
>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
Re: ComplexPhrase WildCard Case Sensitivy problem
Posted by Eyyub Çil <ec...@gmail.com>.
Hi
My fieldType definition is below. When I search without
ComplexPhraseQueryParser, numbers of results are same for "60 YAŞIND*" and "60
yaşınd*".
{ "responseHeader":{ "zkConnected":true, "status":0, "QTime":5, "params":{ "
q":"60 YAŞIND*", "indent":"on", "rows":"0", "wt":"json", "_":"1490456571184"
}}, "response":{"numFound":776,"start":0,"maxScore":7.633286,"docs":[] }}
<fieldType name="text_general" class="solr.TextField" positionIncrementGap=
"100"> <analyzer type="index"> <tokenizer class=
"solr.StandardTokenizerFactory"/> <filter class=
"solr.ApostropheFilterFactory"/> <filter class=
"solr.PatternReplaceFilterFactory" pattern="[^a-zA-Z0-9üğşçıiöâÜĞŞÇIİÖÂ@# ]"
replacement=" " replace="all"/> <filter class="solr.TrimFilterFactory"/> <
filter class="solr.TurkishLowerCaseFilterFactory"/> <filter class=
"solr.ReversedWildcardFilterFactory" /> <!-- <filter
class="solr.ReversedWildcardFilterFactory" withOriginal="true"
maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>--> </
analyzer> <analyzer type="query"> <tokenizer class=
"solr.StandardTokenizerFactory"/> <filter class=
"solr.ApostropheFilterFactory"/> <filter class=
"solr.PatternReplaceFilterFactory" pattern="[^a-zA-Z0-9üğşçıiöâÜĞŞÇIİÖÂ@# ]"
replacement=" " replace="all"/> <filter class="solr.TrimFilterFactory"/> <
filter class="solr.TurkishLowerCaseFilterFactory"/> </analyzer> </fieldType>
On 25 March 2017 at 21:15, Mikhail Khludnev <mk...@apache.org> wrote:
> Hello
> It sounds similar to
> https://lucidworks.com/2011/11/29/whats-with-lowercasing-
> wildcard-multiterm-queries-in-solr/
> (yep, I see TurkishLowerCaseFilterFactory there)
> What's your analyzer for this field? Does it work for plain wildcards
> queries? I'm asking because CPQP adds an oddity sometimes.
>
>
> On Sat, Mar 25, 2017 at 7:21 PM, Eyyub Çil <ec...@gmail.com> wrote:
>
> > Hello,
> >
> > I have a problem with ComplexPhrase and TurkishLowerCaseFilterFactory.
> >
> > When I search like {!complexphrase}SContent_tinx:"6* YAŞINDA",
> > {!complexphrase}SContent_tinx:"6* yaşında", results is correct.
> >
> > { "responseHeader":{ "zkConnected":true, "status":0, "QTime":104,
> > "params":{
> > "q":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"", "debug":"query",
> > "indent
> > ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
> > numFound":15,"start":0,"maxScore":5972.9,"docs":[] }, "debug":{ "
> > rawquerystring":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
> > "querystring
> > ":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
> > "parsedquery":"ComplexPhraseQuery(\"6*
> > YAŞINDa\")", "parsedquery_toString":"\"6* YAŞINDa\"", "QParser":
> > "ComplexPhraseQParser"}}
> >
> >
> > But If I want to search like {!complexphrase}SContent_tinx:"60 YAŞIND*"
> or
> > {!complexphrase}SContent_tinx:"60 yaşınd*", *NumFound is 0* or result
> > changes according to Case Sensitive condition.
> > { "responseHeader":{ "zkConnected":true, "status":0, "QTime":10,
> "params":{
> > "q":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"", "debug":"query",
> > "indent
> > ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
> > numFound":0,"start":0,"maxScore":0.0,"docs":[] }, "debug":{
> > "rawquerystring
> > ":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"",
> > "querystring":"{!complexphrase}SContent_tinx:\"60
> > YAŞIND*\"", "parsedquery":"ComplexPhraseQuery(\"60 YAŞIND*\")", "
> > parsedquery_toString":"\"60 YAŞIND*\"", "QParser":"
> ComplexPhraseQParser"}}
> >
> >
> > What is reason of this? How can I solve this?
> >
> > Thank All
> >
>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
>
Re: ComplexPhrase WildCard Case Sensitivy problem
Posted by Mikhail Khludnev <mk...@apache.org>.
Hello
It sounds similar to
https://lucidworks.com/2011/11/29/whats-with-lowercasing-wildcard-multiterm-queries-in-solr/
(yep, I see TurkishLowerCaseFilterFactory there)
What's your analyzer for this field? Does it work for plain wildcards
queries? I'm asking because CPQP adds an oddity sometimes.
On Sat, Mar 25, 2017 at 7:21 PM, Eyyub Çil <ec...@gmail.com> wrote:
> Hello,
>
> I have a problem with ComplexPhrase and TurkishLowerCaseFilterFactory.
>
> When I search like {!complexphrase}SContent_tinx:"6* YAŞINDA",
> {!complexphrase}SContent_tinx:"6* yaşında", results is correct.
>
> { "responseHeader":{ "zkConnected":true, "status":0, "QTime":104,
> "params":{
> "q":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"", "debug":"query",
> "indent
> ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
> numFound":15,"start":0,"maxScore":5972.9,"docs":[] }, "debug":{ "
> rawquerystring":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
> "querystring
> ":"{!complexphrase}SContent_tinx:\"6* YAŞINDa\"",
> "parsedquery":"ComplexPhraseQuery(\"6*
> YAŞINDa\")", "parsedquery_toString":"\"6* YAŞINDa\"", "QParser":
> "ComplexPhraseQParser"}}
>
>
> But If I want to search like {!complexphrase}SContent_tinx:"60 YAŞIND*" or
> {!complexphrase}SContent_tinx:"60 yaşınd*", *NumFound is 0* or result
> changes according to Case Sensitive condition.
> { "responseHeader":{ "zkConnected":true, "status":0, "QTime":10, "params":{
> "q":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"", "debug":"query",
> "indent
> ":"on", "rows":"0", "wt":"json", "_":"1490456571184"}}, "response":{"
> numFound":0,"start":0,"maxScore":0.0,"docs":[] }, "debug":{
> "rawquerystring
> ":"{!complexphrase}SContent_tinx:\"60 YAŞIND*\"",
> "querystring":"{!complexphrase}SContent_tinx:\"60
> YAŞIND*\"", "parsedquery":"ComplexPhraseQuery(\"60 YAŞIND*\")", "
> parsedquery_toString":"\"60 YAŞIND*\"", "QParser":"ComplexPhraseQParser"}}
>
>
> What is reason of this? How can I solve this?
>
> Thank All
>
--
Sincerely yours
Mikhail Khludnev