> Which according to analysis.jsp gets split into: > f | fc | s | st | g | ga | gal | gall | galle | gallen > > So far so good. > > Now if I search for "fc st.gallen" according to > analysis.jsp it will search for: > fc | st | gallen > > But when I do a dismax search using the following handler: > <requestHandler name="auto" > class="solr.SearchHandler" default="true"> > <lst name="defaults"> > <str > name="defType">dismax</str> > <str > name="echoParams">explicit</str> > <int > name="rows">10</int> > <str name="qf">name > firstname email^0.5 telefon^0.5 city^0.6 > street^0.6</str> > <str > name="fl">id,type,name,firstname,zipcode,city,street,urlizedname</str> > </lst> > </requestHandler> > > I do not get a match. > Looking at the debug of the query I can see that its > actually splitting the query into "fc" and "st gallen": > <str name="rawquerystring">fc st.gallen</str> > <str name="querystring">fc st.gallen</str> > <str name="parsedquery"> > +((DisjunctionMaxQuery((telefon:fc^0.5 | firstname:fc | > email:fc^0.5 | street:fc^0.6 | city:fc^0.6 | name:fc)) > DisjunctionMaxQuery((telefon:"st gallen"^0.5 | firstname:"st > gallen" | email:"st gallen"^0.5 | street:"st gallen"^0.6 | > city:"st gallen"^0.6 | name:"st gallen")))~2) () > </str> > <str name="parsedquery_toString"> > +(((telefon:fc^0.5 | firstname:fc | email:fc^0.5 | > street:fc^0.6 | city:fc^0.6 | name:fc) (telefon:"st > gallen"^0.5 | firstname:"st gallen" | email:"st gallen"^0.5 > | street:"st gallen"^0.6 | city:"st gallen"^0.6 | name:"st > gallen"))~2) () > </str> > > Whats going on there?
analysis.jsp does not do actual query parsing. just shows produced tokens step by step in analysis (charfilter, tokenizer, tokenfilter) phase. "admin/analysis.jsp page will show you how your field is processed while indexing and while querying, and if a particular query matches." [1] [1]http://wiki.apache.org/solr/FAQ#My_search_returns_too_many_.2BAC8_too_little_.2BAC8_unexpected_results.2C_how_to_debug.3F