It looks like something in your query analyzer chain is turning the wildcard operators '*' into the word 'star' - maybe you need to dig into your analyzers, synonym lists etc. and see where this is happening. The admin/analysis panel that Erick suggests lets you enter data and see what happens once your analyzer chain has processed it - have a go and see what happens. Either that or newer Solr displays the debug information differently, but I don't have two versions here to compare...

Charlie

On 24/06/2020 19:18, yaswanth kumar wrote:
Thanks Erick,

I have now added &debug=query and found a diff between old solr and new solr

new solr (8.2) which is not giving results is as follows

"debug":{
     "rawquerystring":"*:*",
     "querystring":"*:*",
     "parsedquery":"MatchAllDocsQuery(*:*)",
     "parsedquery_toString":"*:*",
     "explain":{},
     "QParser":"LuceneQParser",
     "filter_queries":["auto_nsallschools:*bostonschool*"],
     "parsed_filter_queries":["auto_nsallschools:_star_bostonschool_star_"],

Where as solr 5.5 which is getting me the results is as follows

"debug":{
     "rawquerystring":"*:*",
     "querystring":"*:*",
     "parsedquery":"MatchAllDocsQuery(*:*)",
     "parsedquery_toString":"*:*",
     "explain":{},
     "QParser":"LuceneQParser",
     "filter_queries":["auto_nsallschools:*bostonschool*"],
     "parsed_filter_queries":["auto_nsallschools:*bostonschool*"],

I know in schema there are analyzer against this field but not getting on
why its making differences here.

Thanks,

On Wed, Jun 24, 2020 at 9:24 AM Erick Erickson <erickerick...@gmail.com>
wrote:

You need to do several things to track down why.

First, use something (admin UI, terms query, etc) to see
exactly what’s in your index. The admin/analysis screen is useful here.

Second, aldd &debug=query to the query on both machines and
see what the actual parsed query looks like.

Comparing those should give you a clue.

Best,
Erick

On Jun 24, 2020, at 9:20 AM, yaswanth kumar <yaswanth...@gmail.com>
wrote:
"nsallschools":["BostonSchool"]

That's how the data is stored against the field.

We have a functionality where we can do "Starts with, Contains, Ends
with";
Also if you look at the above schema we are using

<filter class="solr.SynonymFilterFactory"
synonyms="punctuation-whitelist.txt" ignoreCase="true" expand="false"/>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory"/>

Also the strange part is that its working fine in Solr 5.5 but not in
Solr
8.2 any thoughts??

Thanks,

On Wed, Jun 24, 2020 at 3:15 AM Jörn Franke <jornfra...@gmail.com>
wrote:
I don’t know your data, but could it be that you tokenize differently ?

Why do you do the wildcard search at all? Maybe a different tokenizing
strategy can bring you more effieciently results? Depends on what you
need
to achieve of course ...

Am 24.06.2020 um 05:37 schrieb yaswanth kumar <yaswanth...@gmail.com>:

I am using solr 8.2

And when trying to do fq=auto_nsallschools:*bostonschool*, the data is
not
being returned. But if I do the same in solr 5.5 (which I already have
and
we are in process of migrating to 8.2 ) its returning results.

if I do fq=auto_nsallschools:bostonschool
or
fq=auto_nsallschools:bostonschool* its returning results but when I try
with contains like described above or
fq=auto_nsallschools:*bostonschool
(ends with) it's not returning any results.

The field which we are already using is a copy field and multi valued,
am I
doing something wrong? or does 8.2 need some adjustment in the configs?

Here is the schema

<field name="nsallschools" type="txtStandard" indexed="true"
stored="true"
multiValued="true"/>
<field name="auto_nsallschools" type="nstxtLowerCaseMatch"
indexed="true"
stored="false" multiValued="true"/>
<copyField source="nsallschools" dest="auto_nsallschools" />


<fieldType name="txtStandard" class="solr.TextField"
positionIncrementGap="100">
     <analyzer>
       <tokenizer class="solr.StandardTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.ASCIIFoldingFilterFactory"/>
     </analyzer>
   </fieldType>


<fieldType name="nstxtLowerCaseMatch" class="solr.TextField"
positionIncrementGap="100">
     <analyzer>
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\&amp;)" replacement="_and_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\$)" replacement="_dollar_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\*)" replacement="_star_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\+)" replacement="_plus_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\-)" replacement="_minus_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\#)" replacement="_sharp_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\%)" replacement="_percent_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\=)" replacement="_equal_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\&lt;)" replacement="_lessthan_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\&gt;)" replacement="_greaterthan_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\€)" replacement="_euro_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\¢)" replacement="_cent_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\£)" replacement="_pound_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\¥)" replacement="_yuan_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\©)" replacement="_copyright_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\®)" replacement="_registered_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\|)" replacement="_pipe_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\^)" replacement="_caret_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\~)" replacement="_tilt_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\™)" replacement="_treadmark_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\@)" replacement="_at_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\&quot;)" replacement=" _doublequote_ " />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\()" replacement=" _leftparentheses_ " />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\))" replacement=" _rightparentheses_ " />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\{)" replacement="_leftcurlybracket_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\})" replacement="_rightcurlybracket_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\[)" replacement="_leftsquarebracket_" />
       <charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="(\])" replacement="_rightsquarebracket_" />
       <filter class="solr.SynonymFilterFactory"
synonyms="punctuation-whitelist.txt" ignoreCase="true" expand="false"/>
       <tokenizer class="solr.KeywordTokenizerFactory"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.ASCIIFoldingFilterFactory"/>
     </analyzer>
   </fieldType>

Thanks,

--
Thanks & Regards,
Yaswanth Kumar Konathala.
yaswanth...@gmail.com

--
Thanks & Regards,
Yaswanth Kumar Konathala.
yaswanth...@gmail.com


--
Charlie Hull
OpenSource Connections, previously Flax

tel/fax: +44 (0)8700 118334
mobile:  +44 (0)7767 825828
web: www.o19s.com

Reply via email to