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

Wolf Siberski commented on LUCENE-1473:
---------------------------------------

This seems to be the right way to go. The patch attached removes all 
dependencies to Serializable and Remote from the core and moves it to 
contrib/remote. I introduced a new interface RemoteSearcher
(not RemoteSearchable because I didn't want to pass Weights around), 
implemented by DefaultRemoteSearcher. An adapter realizing Searchable and 
delegating to RemoteSearcher is also included (RemoteSearcherAdapter. 
Encoding/Decoding of Lucene objects is delegated to the 
org.apache.lucene.remote.Serializer. For a sample serialization, I employed 
XStream which offers XML serialization (nearly) out-of-the-box. 
Everything is rather undocumented and would need a lot of cleanup, but as 
proof-of-concept it should be ok. Core and remote tests pass, with one 
exception: it is not possible anymore to serialize a RAMDirectory.
What I don't like with the current patch is that a lot of different objects are 
passed around to keep the Searchable interface alive. Would it be possible to 
refactor such that Searchable represents a higher-level interface (or introduce 
a new alternative abstraction)?

> 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: custom-externalizable-reader.patch, LUCENE-1473.patch, 
> LUCENE-1473.patch, LUCENE-1473.patch, 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