Re: query expansion à la dismax

2011-03-31 Thread Chris Hostetter

: So I wrote my own code that filters the top level queries and expands 
: them, using a similar instruction as dismax within a particular query 
: component.
: 
: Question 1: doesn't such a code already exist?
:  (I haven't found it)

the DisjunctionMaxQueryParser class has support for configuring field 
aliase -- in the DisMaxQParser it only uses it with setting up aliaes for a 
(fake) default field, but if you use it directly in code you can set up 
specific aliases for specific field names (there's plans to do this for 
the edismax handler but some other weird behavior bugs are holding it up)

: Question 2: should I rather make a QParserPlugin?
:   (the javadoc is not very helpful)

implementing QParserPlugin is how you register a plugin that solr knows 
to use to parse query strings when the user asks for a parser by name 
(either using the defType param, or with the local param syntax).  within 
your QParserPlugin you can implement the actaul parsing anyway you like.

The LuceneQParserPlugin serves as a really simple example of how to 
implement a QParserPlugin if you've already got a QueryParser subclass 
that you want to use -- it's really just about managing the request 
parameters.


-Hoss


query expansion à la dismax

2011-03-16 Thread Paul Libbrecht

Hello list,

the dismax query type has one feature that is particularly nice... the ability 
to expand tokens to a query to many fields. This is really useful to do such 
jobs as "prefer a match in title, prefer exact matches over stemmed matches 
over phonetic matches".

My problem: I wish to do the same with the normal Lucene query type because I 
wish to enable power users to use some syntax if they wish but I would still 
like to expand on searches in the default field that are on the top level.

So I wrote my own code that filters the top level queries and expands them, 
using a similar instruction as dismax within a particular query component.

Question 1: doesn't such a code already exist?
 (I haven't found it)

Question 2: should I rather make a QParserPlugin?
  (the javadoc is not very helpful)

thanks in advance

paul