: I am trying to write a util which can parse a Lucene/Solr query and convert
: into an object representation to add more clauses to the query. 
: 
: Eg.
: Input: (name:John AND name:Doe)
: Output: ((firstName:John OR lastName:John) AND (firstName:John OR
: lastName:John))

edismax can support this natively, no coding required -- although itwill 
build a DisjunctionMaxQuery across the "name"=>"firstName,lastName" 
expansion, not a simple BooleanQuery (but if you set the "tie" param to 
1.0 it should be equivilent, although i suspect a DisjunctionMaxQuery 
with the default tie breaker value would fit your usecase better 
anyway)...

http://wiki.apache.org/solr/ExtendedDisMax#Field_aliasing_.2BAC8_renaming

So try something like this...

http://localhost:8983/solr/select?defType=edismax&f.name.qf=firstName+lastName&q=%28name:John%20AND%20name:Doe%29&debugQuery=true


-Hoss

Reply via email to