I'm looking at the latest source and I see that the only way I can use
Lucene's DisjunctionMaxQuery is to use the limited query syntax.  These two
are entangled together in SolrPluginUtils.DisjunctionMaxQueryParser.  Am I
looking at the wrong place?  I'd love to be proven wrong.

We want our users to use boolean queries ("and", "or" syntax) and prefix
queries.  We don't want to constraint them to the less capable syntax
hard-coded into DisjunctionMaxQueryParser.  We want terms that aren't bound
to a field to not simply default to one field, but to be applied against
several of them with different boosting.  The standard query handler doesn't
really do that.


ryantxu wrote:
> 
> In 1.3 (trunk, dev build), the query parsing has been extracted into a  
> component.  It shoudl be easy to replace just query parsing component  
> and keep the rest of the chain the same.
> 
> I'm not quite following why it is a problem to have two urls for  
> dismax vs standard query.  Dismax expects unescapped user queries  
> while standard requires valid lucene query syntax.  Is your problem  
> that you want a HTML form to hit a single URL for either case?
> 
> ryan
> 
> 
> 
> On Apr 26, 2008, at 1:33 AM, David Smiley @MITRE.org wrote:
>>
>> I am frustrated that I have to pick between the two because I want  
>> both.  The
>> way I look at it, there should be a more configurable query handler  
>> which
>> allows me to dimax if I want to, and pick a parser for the user's  
>> query
>> (like the flexible one used by the standard query handler, or the more
>> restrictive one found in DisMax Q.H. today).  At the moment, I'm  
>> faced with
>> telling a user of my search service (another developer of a  
>> corporate app
>> using my corporate search service) that he has to compose a dis-max  
>> manually
>> (i.e. use the standard query handler to get the job done) simply  
>> because he
>> wants to do a prefix query (which isn't supported by DisMax Q.H.).   
>> This is
>> for an auto-complete type thing, by the way.  You might argue it's  
>> not hard
>> -- that's true though it is annoying.  But the bigger issue is that  
>> I can't
>> encapsulate these internal details into my search service -- where it
>> belongs IMO.
>>
>> ~ David Smiley
>>
>>
>> hossman_lucene wrote:
>>>
>>>
>>> : Is the main difference between the StandardQueryHandler and
>>> : DisMaxQueryHandler the supported query syntax (and different query
>>> : parser used in each of them), and the fact that the latter creates
>>> : DisjunctionMaxQueries, while the former just creates vanilla
>>> : BooleanQueries?  Are there any other differences?
>>>
>>> the main differnece is the query string yes: Standard expects to get
>>> "lucene QueryParser" formatted queries, while DisMax expects to get  
>>> raw
>>> user input strings ... Standard builds queries (wehter they be  
>>> prefix or
>>> boolean or wildcard) using the QueryParser as is, while DisMax does a
>>> "cross product" of the user input across many differnet fields and  
>>> builds
>>> up a very specific query structure -- which can then be augmented  
>>> with
>>> aditional query clauses like the "bq" boost query and the "bf" boost
>>> function.
>>>
>>> there's no reason the StandardRequestHandler can't construct  
>>> DisMaxQueries
>>> (once QueryParser has some syntax for them) and  
>>> DisMaxRequestHandler does
>>> (at the outermost level) generate a BooleanQuery (with a custom
>>> "minShouldMatch" value set on it) but the main differnece is really  
>>> the
>>> use case: if you want the clinet to specify the exact query  
>>> structure that
>>> they want, use StandardRequstHandler.  if you want the client to just
>>> propogate the raw search string typed by the user, without any  
>>> structure
>>> or escaping, and get the nice complex DisMax style query across the
>>> configured fields, the DisMax handler was written to fill that niche.
>>>
>>> (load up the example configs, and take a look at the query toString  
>>> from
>>> this url to see what i mean about the complex structure...
>>>
>>> http://localhost:8983/solr/select/?qt=dismax&q=how+now+brown+cow&debugQuery=1
>>>
>>>
>>>
>>>
>>> -Hoss
>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Standard-vs.-DisMaxQueryHandler-tp6421205p16909626.html
>> Sent from the Solr - User mailing list archive at Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Standard-vs.-DisMaxQueryHandler-tp6421205p16945818.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to