GitHub user LucVL opened a pull request:

    https://github.com/apache/lucene-solr/pull/19

    LUCENE-7064: Make MultiPhraseQuery immutable

    This PR is based at the highest commit point common to master, branch_6x 
and branch_6_0 so it should be easy to merge with any or all of them.
    
    My original mail to the dev list doesn't seem to get through, so I repeat 
it here:
    
    > While checking how to migrate my custom components from lucene/solr 5.1 
to 6.x I stumbled upon the fact that oal.search.MultiPhraseQuery is not 
immutable like most other implementations (see e.g.: 
https://issues.apache.org/jira/browse/LUCENE-6531)
    > 
    > Since it is part of the public API I would suggest splitting it in an 
immutable class and a builder like was done for most other Queries *before* 
releasing an official 6.x version.
    > 
    > I did a quick scan through all derived classes of Query and I compiled 
the following list (ignoring sources in test or contrib folders)
    > Some of them are already marked as experimental (but should perhaps 
receive the "official" @lucene.experimental tag ?)
    > For some it's possibly not an issue since they should never end up in a 
filter cache (like MoreLikeThisQuery ?), but then a comment specifying the 
exception to the rule should perhaps be added.
    > 
    > I'll probably already have a go at the MultiPhraseQuery case shortly and 
create a JIRA issue with a PR for it.
    > 
    > Luc Vanlerberghe
    > 
    > lucene/search:
    > - org.apache.lucene.search.MultiPhraseQuery
    > 
    > lucene/queries:
    > - org.apache.lucene.queries.CommonTermsQuery
    > - org.apache.lucene.queries.CustomScoreQuery (marked as 
@lucene.experimental)
    > - org.apache.lucene.queries.mlt.MoreLikeThisQuery
    > 
    > lucene/suggest:
    > - org.apache.lucene.search.suggest.document.ContextQuery (marked as 
@lucene.experimental)
    > 
    > lucene/facet:
    > - org.apache.lucene.facet.DrillDownQuery (marked as @lucene.experimental)
    > 
    > solr/core:
    > - org.apache.solr.search.ExtendedQueryBase
    >   Several derived classes, among which:
    >   - org.apache.solr.query.FilterQuery
    >   - org.apache.solr.query.SolrRangeQuery (marked as @lucene.experimental)
    >   - org.apache.solr.search.RankQuery (marked in comment as experimental, 
but not its derived classes)
    >   - org.apache.solr.search.WrappedQuery
    > - org.apache.solr.search.join.GraphQuery (marked as @lucene.experimental)
    > - org.apache.solr.search.SolrConstantScoreQuery (marked in comment as 
experimental, but not the derived FunctionRangeQuery)
    > 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/LucVL/lucene-solr lucene-7064

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/lucene-solr/pull/19.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #19
    
----
commit 223eaa2bcf74ea3b363abfb161b3771b09f48281
Author: Luc Vanlerberghe <[email protected]>
Date:   2016-03-03T10:52:14Z

    LUCENE-7064: Split MultiPhraseQuery into an immutable class and a Builder

commit 1b4c0ed77fe8b22c7a04b2879b34514b0ac05d0d
Author: Luc Vanlerberghe <[email protected]>
Date:   2016-03-03T13:02:51Z

    LUCENE-7064: Updated tests

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to