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

Reply via email to