Does the eDismax parser design guarantee that it will give the same results as the old dismax for a "legal" query? If not, are the differences minor?
On Fri, Oct 29, 2010 at 6:40 AM, Yonik Seeley <yo...@lucidimagination.com> wrote: > On Fri, Oct 29, 2010 at 9:30 AM, Ryan Walker <r...@recruitmilitary.com> wrote: >> >> We are launching a new version of our job board helping returning veterans >> find a civilian job, and we chose Solr and Sunspot[1] to power our search. >> We really didn't consider the power users in the HR world who are trained to >> use boolean search, for example: >> >> "Engineer" AND ("Electrical" OR "Mechanical") >> >> Sunspot supports the Dismax request handler, which unfortunately does not >> handle the query above properly. So we read about eDismax and that it was >> baked into Solr 1.5. At the same time, Sunspot has switched from LocalSolr >> integration to storing a geohash in a full-text searchable field. >> >> We're having some problems with some complex queries that Sunspot generates: >> >> INFO: [] webapp=/solr path=/select >> params={fl=+score&start=0&q=query:"{!dismax+qf%3D'title_text+description_text'}Ruby+on+Rails+Developer"+(location_details_s:dngythdb25fu^1.0+OR+location_details_s:dngythdb25f^0.0625+OR+location_details_s:dngythdb25*^0.00391+OR+location_details_s:dngythdb2*^0.000244+OR+location_details_s:dngythdb*^0.0000153+OR+location_details_s:dngythd*^0.000000954+OR+location_details_s:dngyth*^0.0000000596+OR+location_details_s:dngyt*^0.00000000373+OR+location_details_s:dngy*^0.000000000233+OR+location_details_s:dng*^0.0000000000146)&wt=ruby&fq=type:Job&defType=edismax&rows=20} >> hits=1 status=0 QTime=13 >> >> Under Dismax no results are returned for this query, however, as you can see >> above with eDismax a result is returned -- the only difference between the >> two queries are '&defType=edismax' vs '&defType=dismax' > > That's to be expected. Dismax doesn't even support fielded queries > (where you specify the fieldname in the query itself) so this clause > is treated all as text: > > (location_details_s:dngythdb25fu^1.0 > > and dismax QP will be looking for tokens like "location_details_s" > "dngythdb25fu" (assuming tokenization would split on the > non-alphanumeric chars) in your text fields. > > -Yonik > http://www.lucidimagination.com > -- Lance Norskog goks...@gmail.com