What ever is generating the xml could just as easily create/instantiate the
query objects.
Yes, it is easier using the existing Java objects to construct queries
but they are inappropriate when you consider the scenarios 1 to 3 I
outlined earlier (query persistence, support for clients written in
other languages or remote clients that don't want/need Lucene
implementation classes locally). I find the separation of service
request from service implementation is generally useful and using Query
objects for both feels a bit dodgy.
I was not necessarily considering this proposal as a query language
which power end-users would normally type. I saw this more as a syntax
which would typically be generated by application code and could be
conveniently persisted and/or serialized between machines. For example,
I've a nice applet based GUI query builder for constructing boolean
logic(see "Modern Information Retrieval" p285) which accumulates the
user's query clauses, constructs a regular Lucene query string and sends
it serverside. Unfortunately, using this approach I cannot offer the
full range of Lucene query capabilities because they can't all be
expressed in the existing query syntax. Yes,I could create Query objects
in the client applet and serialize them to the server but how do I save
them in an audit log or database of "saved queries"?
I suspect there are many other Lucene applications which are essentially
fronted by forms that are interpreted by application code to produce the
query strings. In these scenarios where app code creates the query
requests the "end-user-friendliness" of the query syntax may be a lesser
priority compared to the required flexibility to represent all types of
Lucene Queries - hence the XML suggestion, although I'm not married to that.
Yonik was right to highlight the parallel with SQL here.
___________________________________________________________
To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]