+1, old QP should not be deprecated. Since the new one is in contrib, it should just be stated that it doesn't necessarily have the same back compat. issues as core, either that or it is marked as experimental.

-Grant

On Aug 11, 2009, at 1:54 PM, Mark Miller wrote:

I don't think we should stick with the current path of replacing the current QueryParser with the new contrib QueryParser in Lucene 3.0.

The new QueryParser has not been used much at all yet. Its interfaces (which will need to abide by back compat in core) have not been vetted enough.

The new parser appears to add complication to some of things that were very simple with the old parser.

The main benefits of the new parser are claimed to be the ability to plug and play many syntaxes and QueryBuilders. This is not an end user benefit though and I'm not even sure how much of a benefit it is to us. There is currently only one impl. It seems to me, once you start another impl, its a long shot that the exact same query tree representation is going to work with a completely different syntax. Sure, if you are just doing postfix rather than prefix, it will be fine – but the stuff that would likely be done – actual new syntaxes – are not likely to be very pluggable. If a syntax can map to the same query tree, I think we would likely stick to a single syntax – else suffer the confusion and maintenance headaches for syntactic sugar. More than a well factored QueryParser that can more easily allow different syntaxes to map to the same query tree representation, I think we just want a single solid syntax for core Lucene that supports Spans to some degree. We basically have that now, sans the spans support. Other, more exotic QueryParsers should live in contrib, as they do now.

Which isn't to say this QueryParser should not one day rule the roost – but I don't think its earned the right yet. And I don't think there is a hurry to toss the old parser.

Personally, I think that the old parser should not be deprecated. Lets let the new parser breath in contrib for a bit. Lets see if anyone actually adds any other syntaxes. Lets see if the pluggability results in any improvements. Lets see if some of the harder things to do (overriding query build methods?) become easier or keep people from using the new parser.

Lets just see if the new parser draws users without us forcing them to it. And lets also wait and see what other committers say – not many have gotten much time to deal with the new parser, or deal with user list questions on it.

I just think its premature to start moving people to this new parser. It didn't even really get in until right before release – the paint on the thing still reeks. There is no rush. I saw we undeprecate the current QueryParser and remove the wording in the new QueryParser about it replacing the new in 3.0. Later, if we think it should replace it (after having some experience to judge from), we can reinstate the current plan. Anyone agree?

--
- Mark

http://www.lucidimagination.com




---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to