: To be brief, looking at query string, : 1) if there are no fields supplied as part of the query, I need to : search for the input-query terms in a set of default field list : including support for field boosting. : : 2) If the user has supplied some field name as part of the query then : I do some other modifications to the query like query expansion, etc.
...you are a bit vague on what the "other modifications" are, so i'm not sure if it will help, but there is a new experimental "edismax" parser in the trunk right now that aims to support the same types of things as "dismax" but with some extra bells and whistles (like: if the query string contains "xxx:yyy" and "xxx" is a real field then just search for "yyy" in that field, not in all the qf fields) So you might check it out. barring that... : judged in query parser ( as far as I know ), which might be the right : way of providing both of above features. ...you can write a custom QParserPlugin that does exactly what you want. -Hoss