Hello again,
it got better I've a simple patch ready to migrate to 2.9.1, all tests green;
it was easier than I initially thought to fix the new DocIdSet
shall I apply it?
We can then think about the compression issue and after that move 3.0.x

I've moved HSEARCH-424 "Update to Lucene 3.0" from beta2 to beta3
as beta3 is containing already stuff like HSEARCH-415 "Consider moving
to Lucene 2.9"
(didn't have sense the other way around)

Cheers,
Sanne

2010/1/10 Sanne Grinovero <sanne.grinov...@gmail.com>:
> Hello all,
> I've been thinking about the strategy to upgrade to Lucene 3;
> Ignoring new features at the moment, the main issues in migration:
>
> 1- Store.COMPRESS not supported anymore
> 2- Some Analyzers and the QueryParser require an additional
> constructor parameter
> 3- DocIdSet interface (used in filters) changed - changed even in
> Lucene 2.9.x, making step-by-step migration harder
>
> While point 2 is not a great problem (I'm having a patch ready);
> points 1 and 3 are connected: DocIdSet must be solved as soon as we
> move to 2.9, while 2.9 is a requirement to implement COMPRESS in a
> different way if we choose to:
> It appears we can't maintain binary index compatibility, but
> supporting the feature is an option.
> Lucene 3 will transparently decompress an old-style compressed field
> when reading it and it will even decompress all fields during
> optimization, effectively transforming the index to the new format.
>
> If we want to still support the contract of
> org.hibernate.search.annotations.Store.COMPRESS we will have to
> compress ourself the field, possibly using a pluggable strategy;
> assuming the use of org.apache.lucene.document.CompressionTools as
> default implementation we can provide a backwards compatible-API but
> the resulting index is going to have a different format.
>
> A future improvement could be to use any external
> compression/decompression function (user provided implementation), any
> idea where? Maybe replace the Store enum with an interface?
>
> What should I do to solve HSEARCH-425 ?
> The options I've considered so far:
>
> A) Deprecate the Store.COMPRESS, without providing an alternative
>
> B) Change implementation to make use of Lucene's CompressionTools
>
> CompressionTools only exist since Lucene 2.9, so an upgrade is
> mandatory but other features are going to break, like filters
> (org.hibernate.search.filter.AndDocIdSet needs to implement an updated
> interface)
> So basically I'll need a branch, break some tests temporarily, or
> provide a single huge patch refactoring some features and tests at
> same time :-/
> An alternative to branching would be to solve the Compress issue
> later, and focus on the build breaking changes first; in practice this
> would break the compression feature until it's fixed, but this
> shouldn't be a great problem as it going to change anyway...
>
> WDYT?
>
> I'm working on the new DocIdSet, even that will be a considerable change.
>
> Cheers,
> Sanne
>
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to