[ 
https://issues.apache.org/jira/browse/LUCENE-1473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653057#action_12653057
 ] 

Mark Harwood commented on LUCENE-1473:
--------------------------------------

The contrib section of Lucene contains an XML-based query parser which aims to 
provide full-coverage of Lucene queries/filters and provide extensibility to 
support 3rd party classes.
I use this regularly in distributed deployments and this allows both non-Java 
clients and long-term persistence of queries with good stability across Lucene 
versions.
Although I have not conducted formal benchmarks I have not been drawn to XML 
parsing as a bottleneck - search execution and/or document retrieves are 
normally the main bottlenecks.

Maintaining XML parsing code is an overhead but ultimately helps decouple 
requests from the logic that executes requests. In serializing Lucene 
Query/Filter objects we are dealing with the classes which combine both the 
representation of the request criteria (what needs to be done) and the 
implementation (how things are done). We are forever finessing the "how" bit of 
this equation e.g. moving from RangeQuery to RangeFilters to TrieRangeFilter. 
The criteria however remains relatively static (" I just want to search on a 
range") and so it is dangerous to build clients that refer tdirectly to query 
implementation classes.
The XML parser provides a language-independent abstraction for clients to 
define what they want to be done without being too tied to how this is 
implemented.

Cheers
Mark



> Implement standard Serialization across Lucene versions
> -------------------------------------------------------
>
>                 Key: LUCENE-1473
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1473
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 2.4
>            Reporter: Jason Rutherglen
>            Priority: Minor
>         Attachments: LUCENE-1473.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> To maintain serialization compatibility between Lucene versions, 
> serialVersionUID needs to be added to classes that implement 
> java.io.Serializable.  java.io.Externalizable may be implemented in classes 
> for faster performance.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to