I was under understanding that stopwords are filtered even before being parsed by search handler, i do have the filter in collection schema to filter stopwords and the analysis shows that this stopword is filtered
Analysis response : attached is the solr analysis json response. [image: Inline image 1] Schema definition : <fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> < filter class="solr.StopFilterFactory" ignoreCase="true" words= "stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/> </ analyzer> <analyzer type="query"> <tokenizer class= "solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class= "solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> <field name="textSpell" type="text_general" indexed="true" stored="false" multiValued="true"/> *shouldn't the final filter query terms be sent to search handler?* *Thanks,* *Rajesh**.* On Thu, Apr 23, 2015 at 2:56 PM, Chris Hostetter <hossman_luc...@fucit.org> wrote: > > : And stopword in user query is being changed to q.op=AND, i am going to > : look more into this > > This is an explicitly documented feature of the edismax parser... > > > https://cwiki.apache.org/confluence/display/solr/The+Extended+DisMax+Query+Parser > > * treats "and" and "or" as "AND" and "OR" in Lucene syntax mode. > > ... > > The lowercaseOperators Parameter > > A Boolean parameter indicating if lowercase "and" and "or" should be > treated the same as operators "AND" and "OR". > > > > > : i thought of sharing this in solr community just in-case if someone have > : came across this issue. > : OR > : I will also be validating my config and schema if i am doing something > : wrong. > : > : solr : 4.9 > : query parser: edismax > : > : when i search for "*q=derek and romace*" final parsed query is > : *"(+(+DisjunctionMaxQuery((textSpell:derek)) > : +DisjunctionMaxQuery((textSpell:romance))))/no_coord" * > : * > : "response":{"numFound":0,"start":0,"maxScore":0.0,"docs":[]* > : > : when i search for "*q=derek romace*" final parsed query is > *"parsedquery": > : "(+(DisjunctionMaxQuery((textSpell:derek)) > : DisjunctionMaxQuery((textSpell:romance))))/no_coord",* > : * response": {* > : * "numFound": 1405,* > : * "start": 0,* > : * "maxScore": 0.2780709,* > : * "docs": [.............* > : > : textSpell field definition : > : > : <field name="textSpell" type="text_general" indexed="true" stored="false" > : omitNorms="true" multiValued="true" /> > : > : <fieldType name="text_general" class="solr.TextField" > : positionIncrementGap="100"> > : <analyzer type="index"> > : <tokenizer class="solr.ClassicTokenizerFactory"/> > : <filter class="solr.StopFilterFactory" ignoreCase="true" > : words="stopwords.txt" /> > : <filter class="solr.LowerCaseFilterFactory"/> > : <filter class="solr.KeywordMarkerFilterFactory" > : protected="protwords.txt"/> > : </analyzer> > : <analyzer type="query"> > : <tokenizer class="solr.ClassicTokenizerFactory"/> > : <filter class="solr.StopFilterFactory" ignoreCase="true" > : words="stopwords.txt" /> > : <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" > : ignoreCase="true" expand="false" /> > : <filter class="solr.LowerCaseFilterFactory"/> > : <filter class="solr.KeywordMarkerFilterFactory" > : protected="protwords.txt"/> > : </analyzer> > : </fieldType> > : > : Let me know if anyone of you guys need more info. > : > : *Thanks,* > : *Rajesh**.* > : > > -Hoss > http://www.lucidworks.com/ >
analysis.json
Description: application/json