You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/09/08 14:16:09 UTC
svn commit: r1701783 [1/6] - in /lucene/dev/branches/branch_5x: ./ lucene/
lucene/core/ lucene/core/src/java/org/apache/lucene/search/
lucene/core/src/java/org/apache/lucene/search/payloads/
lucene/core/src/java/org/apache/lucene/search/similarities/ l...
Author: jpountz
Date: Tue Sep 8 12:16:06 2015
New Revision: 1701783
URL: http://svn.apache.org/r1701783
Log:
LUCENE-6590,LUCENE-6783: Replace Query.getBoost, setBoost and clone with a new BoostQuery.
Added:
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
- copied, changed from r1701621, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
- copied, changed from r1701621, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/spans/SpanBoostQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
- copied unchanged from r1701621, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestBoostQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
- copied unchanged from r1701621, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanBoostQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
- copied unchanged from r1701621, lucene/dev/trunk/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionQueryExplanations.java
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/lucene/ (props changed)
lucene/dev/branches/branch_5x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/lucene/core/ (props changed)
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/CachingWrapperQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Filter.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NumericRangeQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Query.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermRangeQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TopTermsRewrite.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/UsageTrackingQueryCachingPolicy.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Weight.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/WildcardQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/package-info.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/payloads/SpanNearPayloadCheckQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/payloads/SpanPayloadCheckQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/BasicStats.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/DFRSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/IBSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/LMDirichletSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/LMJelinekMercerSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/LMSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/MultiSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/PerFieldSimilarityWrapper.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanContainingQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionRangeQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanWithinQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/util/ToStringUtils.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/TestSearch.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestUniqueTermCount.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestConjunctions.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestDocValuesScoring.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestFieldValueQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestFilteredQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestMatchAllDocsQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestMultiTermQueryRewrites.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestNeedsScores.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestTermRangeQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestTopFieldCollector.java (contents, props changed)
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestUsageTrackingFilterCachingPolicy.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/TestWildcard.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/payloads/TestPayloadExplanations.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanExplanations.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/search/spans/TestSpanSearchEquivalence.java
lucene/dev/branches/branch_5x/lucene/facet/ (props changed)
lucene/dev/branches/branch_5x/lucene/facet/src/java/org/apache/lucene/facet/DrillDownQuery.java
lucene/dev/branches/branch_5x/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
lucene/dev/branches/branch_5x/lucene/facet/src/java/org/apache/lucene/facet/range/DoubleRange.java
lucene/dev/branches/branch_5x/lucene/facet/src/java/org/apache/lucene/facet/range/LongRange.java
lucene/dev/branches/branch_5x/lucene/facet/src/test/org/apache/lucene/facet/range/TestRangeFacetCounts.java
lucene/dev/branches/branch_5x/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetSumValueSource.java
lucene/dev/branches/branch_5x/lucene/highlighter/ (props changed)
lucene/dev/branches/branch_5x/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/AbstractTestCase.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
lucene/dev/branches/branch_5x/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
lucene/dev/branches/branch_5x/lucene/join/ (props changed)
lucene/dev/branches/branch_5x/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsQuery.java
lucene/dev/branches/branch_5x/lucene/join/src/java/org/apache/lucene/search/join/GlobalOrdinalsWithScoreQuery.java
lucene/dev/branches/branch_5x/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
lucene/dev/branches/branch_5x/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
lucene/dev/branches/branch_5x/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
lucene/dev/branches/branch_5x/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
lucene/dev/branches/branch_5x/lucene/misc/ (props changed)
lucene/dev/branches/branch_5x/lucene/misc/src/test/org/apache/lucene/index/SorterTestBase.java
lucene/dev/branches/branch_5x/lucene/misc/src/test/org/apache/lucene/search/TestDiversifiedTopDocsCollector.java
lucene/dev/branches/branch_5x/lucene/queries/ (props changed)
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/BoostingQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThisQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/BoostingQueryTest.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreExplanations.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/TestCustomScoreQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
lucene/dev/branches/branch_5x/lucene/queryparser/ (props changed)
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/BoostQueryNodeBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/builders/SlopQueryNodeBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceQuery.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/DistanceRewriteQuery.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SimpleTermRewriteQuery.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SpanNearClauseFactory.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/SrndQuery.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BooleanQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/DisjunctionMaxQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/FuzzyLikeThisQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/LikeThisQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanFirstBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNearBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanNotBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanOrTermsBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/SpanTermBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/TermsQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/UserInputQueryBuilder.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiFieldQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/precedence/TestPrecedenceQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestMultiFieldQPHelper.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
lucene/dev/branches/branch_5x/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
lucene/dev/branches/branch_5x/lucene/sandbox/ (props changed)
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInBBoxQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDPointInPolygonQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/rangetree/NumericRangeTreeQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/rangetree/SortedSetRangeTreeQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/SlowFuzzyQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/regex/RegexQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesRangeQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointDistanceQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInBBoxQueryImpl.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointInPolygonQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/GeoPointTermQueryConstantScoreWrapper.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesNumbersQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesRangeQuery.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/search/TestDocValuesTermsQuery.java
lucene/dev/branches/branch_5x/lucene/spatial/ (props changed)
lucene/dev/branches/branch_5x/lucene/spatial/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
lucene/dev/branches/branch_5x/lucene/spatial3d/ (props changed)
lucene/dev/branches/branch_5x/lucene/spatial3d/src/java/org/apache/lucene/bkdtree3d/PointInGeo3DShapeQuery.java
lucene/dev/branches/branch_5x/lucene/suggest/ (props changed)
lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/spell/SpellChecker.java
lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionQuery.java
lucene/dev/branches/branch_5x/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
lucene/dev/branches/branch_5x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/BaseNormsFormatTestCase.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/AssertingQuery.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/RandomApproximationQuery.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanQuery.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/query/FilterQuery.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/schema/LatLonType.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/DisMaxQParser.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/HashQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/MaxScoreQParser.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/QueryParsing.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/QueryUtils.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SimpleQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/WrappedQuery.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/util/SolrPluginUtils.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/QueryEqualityTest.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRankQueryPlugin.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPScore.java
Modified: lucene/dev/branches/branch_5x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/CHANGES.txt?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/lucene/CHANGES.txt Tue Sep 8 12:16:06 2015
@@ -26,6 +26,12 @@ New Features
fast, very accurate query to find all indexed points within an
earth-surface shape (Karl Wright, Mike McCandless)
+API Changes
+
+* LUCENE-6590: Query.setBoost(), Query.getBoost() and Query.clone() are gone.
+ In order to apply boosts, you now need to wrap queries in a BoostQuery.
+ (Adrien Grand)
+
Optimizations
* LUCENE-6708: TopFieldCollector does not compute the score several times on the
@@ -62,6 +68,9 @@ Bug Fixes
* LUCENE-6781: Fixed BoostingQuery to rewrite wrapped queries. (Adrien Grand)
+* LUCENE-6783: Removed side effects from FuzzyLikeThisQuery.rewrite.
+ (Adrien Grand)
+
Other
* LUCENE-6174: Improve "ant eclipse" to select right JRE for building.
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/AutomatonQuery.java Tue Sep 8 12:16:06 2015
@@ -18,13 +18,11 @@ package org.apache.lucene.search;
*/
import java.io.IOException;
-import java.util.Objects;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.AttributeSource;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.CompiledAutomaton;
import org.apache.lucene.util.automaton.Operations;
@@ -149,7 +147,6 @@ public class AutomatonQuery extends Mult
buffer.append('\n');
buffer.append(automaton.toString());
buffer.append("}");
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BlendedTermQuery.java Tue Sep 8 12:16:06 2015
@@ -252,8 +252,10 @@ public final class BlendedTermQuery exte
if (i != 0) {
builder.append(" ");
}
- TermQuery termQuery = new TermQuery(terms[i]);
- termQuery.setBoost(boosts[i]);
+ Query termQuery = new TermQuery(terms[i]);
+ if (boosts[i] != 1f) {
+ termQuery = new BoostQuery(termQuery, boosts[i]);
+ }
builder.append(termQuery.toString(field));
}
builder.append(")");
@@ -262,6 +264,9 @@ public final class BlendedTermQuery exte
@Override
public final Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
final TermContext[] contexts = Arrays.copyOf(this.contexts, this.contexts.length);
for (int i = 0; i < contexts.length; ++i) {
if (contexts[i] == null || contexts[i].topReaderContext != reader.getContext()) {
@@ -287,14 +292,14 @@ public final class BlendedTermQuery exte
contexts[i] = adjustFrequencies(contexts[i], df, ttf);
}
- TermQuery[] termQueries = new TermQuery[terms.length];
+ Query[] termQueries = new Query[terms.length];
for (int i = 0; i < terms.length; ++i) {
termQueries[i] = new TermQuery(terms[i], contexts[i]);
- termQueries[i].setBoost(boosts[i]);
+ if (boosts[i] != 1f) {
+ termQueries[i] = new BoostQuery(termQueries[i], boosts[i]);
+ }
}
- Query rewritten = rewriteMethod.rewrite(termQueries);
- rewritten.setBoost(getBoost());
- return rewritten;
+ return rewriteMethod.rewrite(termQueries);
}
private static TermContext adjustFrequencies(TermContext ctx, int artificialDf, long artificialTtf) {
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java Tue Sep 8 12:16:06 2015
@@ -28,7 +28,6 @@ import java.util.Objects;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.similarities.Similarity;
-import org.apache.lucene.util.ToStringUtils;
/** A Query that matches documents matching boolean combinations of other
* queries, e.g. {@link TermQuery}s, {@link PhraseQuery}s or other
@@ -205,26 +204,18 @@ public class BooleanQuery extends Query
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
if (minimumNumberShouldMatch == 0 && clauses.size() == 1) {// optimize 1-clause queries
BooleanClause c = clauses.get(0);
if (!c.isProhibited()) { // just return clause
- Query query = c.getQuery().rewrite(reader); // rewrite first
+ Query query = c.getQuery();
- if (c.isScoring()) {
- if (getBoost() != 1.0f) { // incorporate boost
- if (query == c.getQuery()) { // if rewrite was no-op
- query = query.clone(); // then clone before boost
- }
- // Since the BooleanQuery only has 1 clause, the BooleanQuery will be
- // written out. Therefore the rewritten Query's boost must incorporate both
- // the clause's boost, and the boost of the BooleanQuery itself
- query.setBoost(getBoost() * query.getBoost());
- }
- } else {
- // our single clause is a filter
- query = new ConstantScoreQuery(query);
- query.setBoost(0);
+ if (c.isScoring() == false) {
+ // our single clause is a filter, so we need to disable scoring
+ query = new BoostQuery(new ConstantScoreQuery(query), 0);
}
return query;
@@ -244,9 +235,7 @@ public class BooleanQuery extends Query
builder.add(rewritten, clause.getOccur());
}
if (actuallyRewritten) {
- BooleanQuery rewritten = builder.build();
- rewritten.setBoost(getBoost());
- return rewritten;
+ return builder.build();
}
return super.rewrite(reader);
}
@@ -255,7 +244,7 @@ public class BooleanQuery extends Query
@Override
public String toString(String field) {
StringBuilder buffer = new StringBuilder();
- boolean needParens= getBoost() != 1.0 || getMinimumNumberShouldMatch() > 0;
+ boolean needParens = getMinimumNumberShouldMatch() > 0;
if (needParens) {
buffer.append("(");
}
@@ -288,10 +277,6 @@ public class BooleanQuery extends Query
buffer.append(getMinimumNumberShouldMatch());
}
- if (getBoost() != 1.0f) {
- buffer.append(ToStringUtils.boost(getBoost()));
- }
-
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BooleanWeight.java Tue Sep 8 12:16:06 2015
@@ -105,8 +105,6 @@ final class BooleanWeight extends Weight
i += 1;
}
- sum *= query.getBoost() * query.getBoost(); // boost each sub-weight
-
return sum ;
}
@@ -127,11 +125,10 @@ final class BooleanWeight extends Weight
}
@Override
- public void normalize(float norm, float topLevelBoost) {
- topLevelBoost *= query.getBoost(); // incorporate boost
+ public void normalize(float norm, float boost) {
for (Weight w : weights) {
// normalize all clauses, (even if non-scoring in case of side affects)
- w.normalize(norm, topLevelBoost);
+ w.normalize(norm, boost);
}
}
Copied: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java (from r1701621, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java?p2=lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java&p1=lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java&r1=1701621&r2=1701783&rev=1701783&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/BoostQuery.java Tue Sep 8 12:16:06 2015
@@ -97,6 +97,10 @@ public final class BoostQuery extends Qu
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (super.getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
+
final Query rewritten = query.rewrite(reader);
if (boost == 1f) {
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/CachingWrapperQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/CachingWrapperQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/CachingWrapperQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/CachingWrapperQuery.java Tue Sep 8 12:16:06 2015
@@ -41,7 +41,7 @@ import org.apache.lucene.util.RoaringDoc
* needed. The purpose is to allow queries to simply care about matching and
* scoring, and then wrap with this class to add caching.
*/
-public class CachingWrapperQuery extends Query implements Accountable {
+public class CachingWrapperQuery extends Query implements Accountable, Cloneable {
private Query query; // not final because of clone
private final QueryCachingPolicy policy;
private final Map<Object,DocIdSet> cache = Collections.synchronizedMap(new WeakHashMap<Object,DocIdSet>());
@@ -62,13 +62,6 @@ public class CachingWrapperQuery extends
this(query, QueryCachingPolicy.CacheOnLargeSegments.DEFAULT);
}
- @Override
- public CachingWrapperQuery clone() {
- final CachingWrapperQuery clone = (CachingWrapperQuery) super.clone();
- clone.query = query.clone();
- return clone;
- }
-
/**
* Gets the contained query.
* @return the contained query.
@@ -77,16 +70,6 @@ public class CachingWrapperQuery extends
return query;
}
- @Override
- public float getBoost() {
- return query.getBoost();
- }
-
- @Override
- public void setBoost(float b) {
- query.setBoost(b);
- }
-
/**
* Default cache implementation: uses {@link RoaringDocIdSet}.
*/
@@ -96,11 +79,14 @@ public class CachingWrapperQuery extends
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
final Query rewritten = query.rewrite(reader);
if (query == rewritten) {
- return this;
+ return super.rewrite(reader);
} else {
- CachingWrapperQuery clone = clone();
+ CachingWrapperQuery clone = (CachingWrapperQuery) clone();
clone.query = rewritten;
return clone;
}
@@ -172,14 +158,14 @@ public class CachingWrapperQuery extends
@Override
public boolean equals(Object o) {
- if (o == null || !getClass().equals(o.getClass())) return false;
+ if (super.equals(o) == false) return false;
final CachingWrapperQuery other = (CachingWrapperQuery) o;
return this.query.equals(other.query);
}
@Override
public int hashCode() {
- return (query.hashCode() ^ getClass().hashCode());
+ return (query.hashCode() ^ super.hashCode());
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java Tue Sep 8 12:16:06 2015
@@ -25,18 +25,17 @@ import java.util.Objects;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.ToStringUtils;
/**
- * A query that wraps another query and simply returns a constant score equal to the
- * query boost for every document that matches the query.
- * It therefore simply strips of all scores and returns a constant one.
+ * A query that wraps another query and simply returns a constant score equal to
+ * 1 for every document that matches the query.
+ * It therefore simply strips of all scores and always returns 1.
*/
-public class ConstantScoreQuery extends Query {
- protected final Query query;
+public final class ConstantScoreQuery extends Query {
+ private final Query query;
/** Strips off scores from the passed in Query. The hits will get a constant score
- * dependent on the boost factor of this query. */
+ * of 1. */
public ConstantScoreQuery(Query query) {
this.query = Objects.requireNonNull(query, "Query must not be null");
}
@@ -48,23 +47,25 @@ public class ConstantScoreQuery extends
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
+
Query rewritten = query.rewrite(reader);
- if (rewritten.getClass() == getClass()) {
- if (getBoost() != rewritten.getBoost()) {
- rewritten = rewritten.clone();
- rewritten.setBoost(getBoost());
- }
- return rewritten;
+ if (rewritten != query) {
+ return new ConstantScoreQuery(rewritten);
}
- if (rewritten != query) {
- rewritten = new ConstantScoreQuery(rewritten);
- rewritten.setBoost(this.getBoost());
+ if (rewritten.getClass() == ConstantScoreQuery.class) {
return rewritten;
}
- return this;
+ if (rewritten.getClass() == BoostQuery.class) {
+ return new ConstantScoreQuery(((BoostQuery) rewritten).getQuery());
+ }
+
+ return super.rewrite(reader);
}
/** We return this as our {@link BulkScorer} so that if the CSQ
@@ -161,7 +162,6 @@ public class ConstantScoreQuery extends
return new StringBuilder("ConstantScore(")
.append(query.toString(field))
.append(')')
- .append(ToStringUtils.boost(getBoost()))
.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ConstantScoreWeight.java Tue Sep 8 12:16:06 2015
@@ -32,13 +32,13 @@ import org.apache.lucene.index.Term;
*/
public abstract class ConstantScoreWeight extends Weight {
+ private float boost;
private float queryNorm;
private float queryWeight;
protected ConstantScoreWeight(Query query) {
super(query);
- queryWeight = getQuery().getBoost();
- queryNorm = 1f;
+ normalize(1f, 1f);
}
@Override
@@ -54,9 +54,20 @@ public abstract class ConstantScoreWeigh
}
@Override
- public final void normalize(float norm, float topLevelBoost) {
- queryNorm = norm * topLevelBoost;
- queryWeight *= queryNorm;
+ public void normalize(float norm, float boost) {
+ this.boost = boost;
+ queryNorm = norm;
+ queryWeight = queryNorm * boost;
+ }
+
+ /** Return the normalization factor for this weight. */
+ protected final float queryNorm() {
+ return queryNorm;
+ }
+
+ /** Return the boost for this weight. */
+ protected final float boost() {
+ return boost;
}
/** Return the score produced by this {@link Weight}. */
@@ -65,7 +76,7 @@ public abstract class ConstantScoreWeigh
}
@Override
- public final Explanation explain(LeafReaderContext context, int doc) throws IOException {
+ public Explanation explain(LeafReaderContext context, int doc) throws IOException {
final Scorer s = scorer(context);
final boolean exists;
if (s == null) {
@@ -82,7 +93,7 @@ public abstract class ConstantScoreWeigh
if (exists) {
return Explanation.match(
queryWeight, getQuery().toString() + ", product of:",
- Explanation.match(getQuery().getBoost(), "boost"), Explanation.match(queryNorm, "queryNorm"));
+ Explanation.match(boost, "boost"), Explanation.match(queryNorm, "queryNorm"));
} else {
return Explanation.noMatch(getQuery().toString() + " doesn't match id " + doc);
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java Tue Sep 8 12:16:06 2015
@@ -42,7 +42,7 @@ import org.apache.lucene.index.Term;
* include this term in only the best of those multiple fields, without confusing this with the better case of two different terms
* in the multiple fields.
*/
-public class DisjunctionMaxQuery extends Query implements Iterable<Query> {
+public final class DisjunctionMaxQuery extends Query implements Iterable<Query> {
/* The subqueries */
private ArrayList<Query> disjuncts = new ArrayList<>();
@@ -145,16 +145,14 @@ public class DisjunctionMaxQuery extends
max = Math.max(max, sub);
}
- float boost = getBoost();
- return (((sum - max) * tieBreakerMultiplier * tieBreakerMultiplier) + max) * boost * boost;
+ return (((sum - max) * tieBreakerMultiplier * tieBreakerMultiplier) + max);
}
/** Apply the computed normalization factor to our subqueries */
@Override
- public void normalize(float norm, float topLevelBoost) {
- topLevelBoost *= getBoost(); // Incorporate our boost
+ public void normalize(float norm, float boost) {
for (Weight wt : weights) {
- wt.normalize(norm, topLevelBoost);
+ wt.normalize(norm, boost);
}
}
@@ -217,36 +215,25 @@ public class DisjunctionMaxQuery extends
* @return an optimized copy of us (which may not be a copy if there is nothing to optimize) */
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
int numDisjunctions = disjuncts.size();
if (numDisjunctions == 1) {
- Query singleton = disjuncts.get(0);
- Query result = singleton.rewrite(reader);
- if (getBoost() != 1.0f) {
- if (result == singleton) result = result.clone();
- result.setBoost(getBoost() * result.getBoost());
- }
- return result;
+ return disjuncts.get(0);
}
- DisjunctionMaxQuery clone = null;
- for (int i = 0 ; i < numDisjunctions; i++) {
- Query clause = disjuncts.get(i);
- Query rewrite = clause.rewrite(reader);
- if (rewrite != clause) {
- if (clone == null) clone = this.clone();
- clone.disjuncts.set(i, rewrite);
- }
+ DisjunctionMaxQuery rewritten = new DisjunctionMaxQuery(tieBreakerMultiplier);
+ boolean actuallyRewritten = false;
+ for (Query sub : disjuncts) {
+ Query rewrittenSub = sub.rewrite(reader);
+ actuallyRewritten |= rewrittenSub != sub;
+ rewritten.add(rewrittenSub);
}
- if (clone != null) return clone;
- else return this;
- }
- /** Create a shallow copy of us -- used in rewriting if necessary
- * @return a copy of us (but reuse, don't copy, our subqueries) */
- @Override @SuppressWarnings("unchecked")
- public DisjunctionMaxQuery clone() {
- DisjunctionMaxQuery clone = (DisjunctionMaxQuery)super.clone();
- clone.disjuncts = (ArrayList<Query>) this.disjuncts.clone();
- return clone;
+ if (actuallyRewritten) {
+ return rewritten;
+ }
+ return super.rewrite(reader);
}
/** Prettyprint us.
@@ -273,10 +260,6 @@ public class DisjunctionMaxQuery extends
buffer.append("~");
buffer.append(tieBreakerMultiplier);
}
- if (getBoost() != 1.0) {
- buffer.append("^");
- buffer.append(getBoost());
- }
return buffer.toString();
}
@@ -298,9 +281,10 @@ public class DisjunctionMaxQuery extends
*/
@Override
public int hashCode() {
- return Float.floatToIntBits(getBoost())
- + Float.floatToIntBits(tieBreakerMultiplier)
- + disjuncts.hashCode();
+ int h = super.hashCode();
+ h = 31 * h + Float.floatToIntBits(tieBreakerMultiplier);
+ h = 31 * h + disjuncts.hashCode();
+ return h;
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/DocValuesRewriteMethod.java Tue Sep 8 12:16:06 2015
@@ -18,7 +18,6 @@ package org.apache.lucene.search;
*/
import java.io.IOException;
-import java.util.Objects;
import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.IndexReader;
@@ -39,9 +38,7 @@ public final class DocValuesRewriteMetho
@Override
public Query rewrite(IndexReader reader, MultiTermQuery query) {
- Query result = new ConstantScoreQuery(new MultiTermQueryDocValuesWrapper(query));
- result.setBoost(query.getBoost());
- return result;
+ return new ConstantScoreQuery(new MultiTermQueryDocValuesWrapper(query));
}
static class MultiTermQueryDocValuesWrapper extends Query {
@@ -63,18 +60,16 @@ public final class DocValuesRewriteMetho
@Override
public final boolean equals(final Object o) {
- if (o==this) return true;
- if (o==null) return false;
- if (this.getClass().equals(o.getClass())) {
- final MultiTermQueryDocValuesWrapper that = (MultiTermQueryDocValuesWrapper) o;
- return this.query.equals(that.query) && this.getBoost() == that.getBoost();
+ if (super.equals(o) == false) {
+ return false;
}
- return false;
+ MultiTermQueryDocValuesWrapper that = (MultiTermQueryDocValuesWrapper) o;
+ return query.equals(that.query);
}
@Override
public final int hashCode() {
- return Objects.hash(getClass(), query, getBoost());
+ return 31 * super.hashCode() + query.hashCode();
}
/** Returns the field name for this query */
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FieldValueQuery.java Tue Sep 8 12:16:06 2015
@@ -23,7 +23,6 @@ import java.util.Objects;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.ToStringUtils;
/**
* A {@link Query} that matches documents that have a value for a given field
@@ -41,21 +40,21 @@ public final class FieldValueQuery exten
@Override
public boolean equals(Object obj) {
- if (obj instanceof FieldValueQuery == false) {
+ if (super.equals(obj) == false) {
return false;
}
final FieldValueQuery that = (FieldValueQuery) obj;
- return super.equals(obj) && field.equals(that.field);
+ return field.equals(that.field);
}
@Override
public int hashCode() {
- return Objects.hash(getClass(), field, getBoost());
+ return 31 * super.hashCode() + field.hashCode();
}
@Override
public String toString(String field) {
- return "FieldValueQuery [field=" + this.field + "]" + ToStringUtils.boost(getBoost());
+ return "FieldValueQuery [field=" + this.field + "]";
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Filter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Filter.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Filter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Filter.java Tue Sep 8 12:16:06 2015
@@ -64,6 +64,9 @@ public abstract class Filter extends Que
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
return FilteredQuery.RANDOM_ACCESS_FILTER_STRATEGY.rewrite(this);
}
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java Tue Sep 8 12:16:06 2015
@@ -26,7 +26,6 @@ import org.apache.lucene.index.LeafReade
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.ToStringUtils;
/**
@@ -77,12 +76,13 @@ public class FilteredQuery extends Query
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
BooleanQuery.Builder builder = new BooleanQuery.Builder();
builder.add(query, Occur.MUST);
builder.add(strategy.rewrite(filter), Occur.FILTER);
- Query rewritten = builder.build();
- rewritten.setBoost(getBoost());
- return rewritten;
+ return builder.build();
}
/** Returns this FilteredQuery's (unfiltered) Query */
@@ -108,7 +108,6 @@ public class FilteredQuery extends Query
buffer.append(query.toString(s));
buffer.append(")->");
buffer.append(filter);
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/FuzzyQuery.java Tue Sep 8 12:16:06 2015
@@ -24,7 +24,6 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.util.AttributeSource;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.automaton.LevenshteinAutomata;
/** Implements the fuzzy search query. The similarity measurement
@@ -172,7 +171,6 @@ public class FuzzyQuery extends MultiTer
buffer.append(term.text());
buffer.append('~');
buffer.append(Integer.toString(maxEdits));
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java Tue Sep 8 12:16:06 2015
@@ -88,7 +88,7 @@ public class IndexSearcher {
}
@Override
- public SimWeight computeWeight(float queryBoost, CollectionStatistics collectionStats, TermStatistics... termStats) {
+ public SimWeight computeWeight(CollectionStatistics collectionStats, TermStatistics... termStats) {
return new SimWeight() {
@Override
@@ -97,7 +97,7 @@ public class IndexSearcher {
}
@Override
- public void normalize(float queryNorm, float topLevelBoost) {}
+ public void normalize(float queryNorm, float boost) {}
};
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java Tue Sep 8 12:16:06 2015
@@ -88,17 +88,6 @@ import org.apache.lucene.util.RoaringDoc
*/
public class LRUQueryCache implements QueryCache, Accountable {
- private static Query cacheKey(Query query) {
- if (query.getBoost() == 1f) {
- return query;
- } else {
- Query key = query.clone();
- key.setBoost(1f);
- assert key == cacheKey(key);
- return key;
- }
- }
-
// memory usage of a simple term query
static final long QUERY_DEFAULT_RAM_BYTES_USED = 192;
@@ -227,7 +216,9 @@ public class LRUQueryCache implements Qu
}
synchronized DocIdSet get(Query key, LeafReaderContext context) {
- key = cacheKey(key);
+ assert key.getBoost() == 1f;
+ assert key instanceof BoostQuery == false;
+ assert key instanceof ConstantScoreQuery == false;
final Object readerKey = context.reader().getCoreCacheKey();
final LeafCache leafCache = cache.get(readerKey);
if (leafCache == null) {
@@ -252,9 +243,9 @@ public class LRUQueryCache implements Qu
synchronized void putIfAbsent(Query query, LeafReaderContext context, DocIdSet set) {
// under a lock to make sure that mostRecentlyUsedQueries and cache remain sync'ed
// we don't want to have user-provided queries as keys in our cache since queries are mutable
- query = query.clone();
- query.setBoost(1f);
- assert query == cacheKey(query);
+ assert query instanceof BoostQuery == false;
+ assert query instanceof ConstantScoreQuery == false;
+ assert query.getBoost() == 1f;
Query singleton = uniqueQueries.get(query);
if (singleton == null) {
uniqueQueries.put(query, query);
@@ -318,7 +309,7 @@ public class LRUQueryCache implements Qu
* Remove all cache entries for the given query.
*/
public synchronized void clearQuery(Query query) {
- final Query singleton = uniqueQueries.remove(cacheKey(query));
+ final Query singleton = uniqueQueries.remove(query);
if (singleton != null) {
onEviction(singleton);
}
@@ -522,20 +513,27 @@ public class LRUQueryCache implements Qu
}
DocIdSet get(Query query) {
- assert query == cacheKey(query);
+ assert query instanceof BoostQuery == false;
+ assert query instanceof ConstantScoreQuery == false;
+ assert query.getBoost() == 1f;
return cache.get(query);
}
void putIfAbsent(Query query, DocIdSet set) {
- assert query == cacheKey(query);
+ assert query instanceof BoostQuery == false;
+ assert query instanceof ConstantScoreQuery == false;
+ assert query.getBoost() == 1f;
if (cache.containsKey(query) == false) {
cache.put(query, set);
+ // the set was actually put
onDocIdSetCache(HASHTABLE_RAM_BYTES_PER_ENTRY + set.ramBytesUsed());
}
}
void remove(Query query) {
- assert query == cacheKey(query);
+ assert query instanceof BoostQuery == false;
+ assert query instanceof ConstantScoreQuery == false;
+ assert query.getBoost() == 1f;
DocIdSet removed = cache.remove(query);
if (removed != null) {
onDocIdSetEviction(HASHTABLE_RAM_BYTES_PER_ENTRY + removed.ramBytesUsed());
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java Tue Sep 8 12:16:06 2015
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.util.Bits;
-import org.apache.lucene.util.ToStringUtils;
/**
* A query that matches all documents.
@@ -70,9 +69,6 @@ public final class MatchAllDocsQuery ext
@Override
public String toString(String field) {
- StringBuilder buffer = new StringBuilder();
- buffer.append("*:*");
- buffer.append(ToStringUtils.boost(getBoost()));
- return buffer.toString();
+ return "*:*";
}
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MatchNoDocsQuery.java Tue Sep 8 12:16:06 2015
@@ -20,27 +20,23 @@ package org.apache.lucene.search;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.util.ToStringUtils;
/**
* A query that matches no documents.
*/
public class MatchNoDocsQuery extends Query {
- @Override
- public Query rewrite(IndexReader reader) throws IOException {
- // Rewrite to an empty BooleanQuery so no Scorer or Weight is required
- BooleanQuery.Builder builder = new BooleanQuery.Builder();
- Query rewritten = builder.build();
- rewritten.setBoost(getBoost());
- return rewritten;
- }
-
- @Override
- public String toString(String field) {
- StringBuilder buffer = new StringBuilder();
- buffer.append("");
- buffer.append(ToStringUtils.boost(getBoost()));
- return buffer.toString();
+ @Override
+ public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
}
+ // Rewrite to an empty BooleanQuery so no Scorer or Weight is required
+ return new BooleanQuery.Builder().build();
+ }
+
+ @Override
+ public String toString(String field) {
+ return "";
+ }
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java Tue Sep 8 12:16:06 2015
@@ -35,7 +35,6 @@ import org.apache.lucene.search.similari
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.PriorityQueue;
-import org.apache.lucene.util.ToStringUtils;
/**
* MultiPhraseQuery is a generalized version of PhraseQuery, with an added
@@ -147,7 +146,7 @@ public class MultiPhraseQuery extends Qu
allTermStats.add(searcher.termStatistics(term, termContext));
}
}
- stats = similarity.computeWeight(getBoost(),
+ stats = similarity.computeWeight(
searcher.collectionStatistics(field),
allTermStats.toArray(new TermStatistics[allTermStats.size()]));
}
@@ -167,8 +166,8 @@ public class MultiPhraseQuery extends Qu
}
@Override
- public void normalize(float queryNorm, float topLevelBoost) {
- stats.normalize(queryNorm, topLevelBoost);
+ public void normalize(float queryNorm, float boost) {
+ stats.normalize(queryNorm, boost);
}
@Override
@@ -251,11 +250,12 @@ public class MultiPhraseQuery extends Qu
}
@Override
- public Query rewrite(IndexReader reader) {
+ public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
if (termArrays.isEmpty()) {
- MatchNoDocsQuery rewritten = new MatchNoDocsQuery();
- rewritten.setBoost(getBoost());
- return rewritten;
+ return new MatchNoDocsQuery();
} else if (termArrays.size() == 1) { // optimize one-term case
Term[] terms = termArrays.get(0);
BooleanQuery.Builder builder = new BooleanQuery.Builder();
@@ -263,11 +263,9 @@ public class MultiPhraseQuery extends Qu
for (int i=0; i<terms.length; i++) {
builder.add(new TermQuery(terms[i]), BooleanClause.Occur.SHOULD);
}
- BooleanQuery boq = builder.build();
- boq.setBoost(getBoost());
- return boq;
+ return builder.build();
} else {
- return this;
+ return super.rewrite(reader);
}
}
@@ -322,8 +320,6 @@ public class MultiPhraseQuery extends Qu
buffer.append(slop);
}
- buffer.append(ToStringUtils.boost(getBoost()));
-
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQuery.java Tue Sep 8 12:16:06 2015
@@ -27,7 +27,6 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
-import org.apache.lucene.search.BooleanQuery.Builder;
import org.apache.lucene.util.AttributeSource;
/**
@@ -94,9 +93,7 @@ public abstract class MultiTermQuery ext
public static final RewriteMethod CONSTANT_SCORE_REWRITE = new RewriteMethod() {
@Override
public Query rewrite(IndexReader reader, MultiTermQuery query) {
- Query result = new MultiTermQueryConstantScoreWrapper<>(query);
- result.setBoost(query.getBoost());
- return result;
+ return new MultiTermQueryConstantScoreWrapper<>(query);
}
};
@@ -187,8 +184,7 @@ public abstract class MultiTermQuery ext
@Override
protected void addClause(BooleanQuery.Builder topLevel, Term term, int docCount, float boost, TermContext states) {
final TermQuery tq = new TermQuery(term, states);
- tq.setBoost(boost);
- topLevel.add(tq, BooleanClause.Occur.SHOULD);
+ topLevel.add(new BoostQuery(tq, boost), BooleanClause.Occur.SHOULD);
}
}
@@ -286,8 +282,7 @@ public abstract class MultiTermQuery ext
@Override
protected void addClause(BooleanQuery.Builder topLevel, Term term, int docFreq, float boost, TermContext states) {
final Query q = new ConstantScoreQuery(new TermQuery(term, states));
- q.setBoost(boost);
- topLevel.add(q, BooleanClause.Occur.SHOULD);
+ topLevel.add(new BoostQuery(q, boost), BooleanClause.Occur.SHOULD);
}
}
@@ -330,6 +325,9 @@ public abstract class MultiTermQuery ext
*/
@Override
public final Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
return rewriteMethod.rewrite(reader, this);
}
@@ -350,12 +348,10 @@ public abstract class MultiTermQuery ext
@Override
public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + Float.floatToIntBits(getBoost());
- result = prime * result + rewriteMethod.hashCode();
- if (field != null) result = prime * result + field.hashCode();
- return result;
+ int h = super.hashCode();
+ h = 31 * h + rewriteMethod.hashCode();
+ h = 31 * h + Objects.hashCode(field);
+ return h;
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryConstantScoreWrapper.java Tue Sep 8 12:16:06 2015
@@ -96,7 +96,7 @@ final class MultiTermQueryConstantScoreW
return false;
}
final MultiTermQueryConstantScoreWrapper<?> that = (MultiTermQueryConstantScoreWrapper<?>) o;
- return this.query.equals(that.query) && this.getBoost() == that.getBoost();
+ return this.query.equals(that.query);
}
@Override
@@ -157,8 +157,9 @@ final class MultiTermQueryConstantScoreW
bq.add(new TermQuery(new Term(query.field, t.term), termContext), Occur.SHOULD);
}
Query q = new ConstantScoreQuery(bq.build());
- q.setBoost(score());
- return new WeightOrDocIdSet(searcher.rewrite(q).createWeight(searcher, needsScores));
+ final Weight weight = searcher.rewrite(q).createWeight(searcher, needsScores);
+ weight.normalize(1f, score());
+ return new WeightOrDocIdSet(weight);
}
// Too many terms: go back to the terms we already collected and start building the bit set
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java Tue Sep 8 12:16:06 2015
@@ -48,6 +48,9 @@ public class NGramPhraseQuery extends Qu
@Override
public Query rewrite(IndexReader reader) throws IOException {
+ if (getBoost() != 1f) {
+ return super.rewrite(reader);
+ }
final Term[] terms = phraseQuery.getTerms();
final int[] positions = phraseQuery.getPositions();
@@ -74,9 +77,7 @@ public class NGramPhraseQuery extends Qu
builder.add(terms[i], i);
}
}
- PhraseQuery rewritten = builder.build();
- rewritten.setBoost(phraseQuery.getBoost());
- return rewritten;
+ return builder.build();
}
@Override
@@ -107,16 +108,6 @@ public class NGramPhraseQuery extends Qu
}
@Override
- public float getBoost() {
- return phraseQuery.getBoost();
- }
-
- @Override
- public void setBoost(float b) {
- phraseQuery.setBoost(b);
- }
-
- @Override
public String toString(String field) {
return phraseQuery.toString(field);
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NumericRangeQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NumericRangeQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NumericRangeQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/NumericRangeQuery.java Tue Sep 8 12:16:06 2015
@@ -33,7 +33,6 @@ import org.apache.lucene.index.TermsEnum
import org.apache.lucene.util.AttributeSource;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.NumericUtils;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.index.Term; // for javadocs
/**
@@ -324,7 +323,6 @@ public final class NumericRangeQuery<T e
.append(" TO ")
.append((max == null) ? "*" : max.toString())
.append(maxInclusive ? ']' : '}')
- .append(ToStringUtils.boost(getBoost()))
.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java Tue Sep 8 12:16:06 2015
@@ -39,7 +39,6 @@ import org.apache.lucene.search.similari
import org.apache.lucene.search.similarities.Similarity.SimScorer;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.ToStringUtils;
/** A Query that matches documents containing a particular sequence of terms.
* A PhraseQuery is built by QueryParser for input like <code>"new york"</code>.
@@ -274,9 +273,9 @@ public class PhraseQuery extends Query {
@Override
public Query rewrite(IndexReader reader) throws IOException {
if (terms.isEmpty()) {
- MatchNoDocsQuery q = new MatchNoDocsQuery();
- q.setBoost(getBoost());
- return q;
+ Query rewritten = new MatchNoDocsQuery();
+ rewritten.setBoost(getBoost());
+ return rewritten;
} else if (terms.size() == 1) {
TermQuery tq = new TermQuery(terms.get(0));
tq.setBoost(getBoost());
@@ -387,7 +386,7 @@ public class PhraseQuery extends Query {
states[i] = TermContext.build(context, term);
termStats[i] = searcher.termStatistics(term, states[i]);
}
- stats = similarity.computeWeight(getBoost(), searcher.collectionStatistics(field), termStats);
+ stats = similarity.computeWeight(searcher.collectionStatistics(field), termStats);
}
@Override
@@ -404,8 +403,8 @@ public class PhraseQuery extends Query {
}
@Override
- public void normalize(float queryNorm, float topLevelBoost) {
- stats.normalize(queryNorm, topLevelBoost);
+ public void normalize(float queryNorm, float boost) {
+ stats.normalize(queryNorm, boost);
}
@Override
@@ -529,8 +528,6 @@ public class PhraseQuery extends Query {
buffer.append(slop);
}
- buffer.append(ToStringUtils.boost(getBoost()));
-
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/PrefixQuery.java Tue Sep 8 12:16:06 2015
@@ -19,7 +19,6 @@ package org.apache.lucene.search;
import org.apache.lucene.index.Term;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.automaton.Automaton;
/** A Query that matches documents containing terms with a specified prefix. A PrefixQuery
@@ -71,7 +70,6 @@ public class PrefixQuery extends Automat
}
buffer.append(term.text());
buffer.append('*');
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Query.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Query.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Query.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/Query.java Tue Sep 8 12:16:06 2015
@@ -44,16 +44,16 @@ import org.apache.lucene.index.IndexRead
public abstract class Query implements Cloneable {
private float boost = 1.0f; // query boost factor
- /** Sets the boost for this query clause to <code>b</code>. Documents
- * matching this clause will (in addition to the normal weightings) have
- * their score multiplied by <code>b</code>.
+ /** Sets the boost for this query clause to <code>b</code>.
+ * @deprecated Use {@link BoostQuery} instead to apply boosts.
*/
+ @Deprecated
public void setBoost(float b) { boost = b; }
- /** Gets the boost for this clause. Documents matching
- * this clause will (in addition to the normal weightings) have their score
- * multiplied by <code>b</code>. The boost is 1.0 by default.
+ /** Gets the boost for this clause.
+ * @deprecated Use {@link BoostQuery} instead to apply boosts.
*/
+ @Deprecated
public float getBoost() { return boost; }
/** Prints a query to a string, with <code>field</code> assumed to be the
@@ -84,10 +84,19 @@ public abstract class Query implements C
* of TermQuerys.
*/
public Query rewrite(IndexReader reader) throws IOException {
+ if (boost != 1f) {
+ Query rewritten = clone();
+ rewritten.setBoost(1f);
+ return new BoostQuery(rewritten, boost);
+ }
return this;
}
- /** Returns a clone of this query. */
+ /** Returns a clone of this query.
+ * @deprecated Cloning was only useful for modifying boosts. Now that
+ * {@link #setBoost(float)} is deprecated, queries should be considered
+ * immutable. */
+ @Deprecated
@Override
public Query clone() {
try {
@@ -99,7 +108,7 @@ public abstract class Query implements C
@Override
public int hashCode() {
- return Float.floatToIntBits(getBoost()) ^ getClass().hashCode();
+ return Float.floatToIntBits(boost) ^ getClass().hashCode();
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java Tue Sep 8 12:16:06 2015
@@ -46,9 +46,7 @@ public class QueryWrapperFilter extends
@Override
public Query rewrite(IndexReader reader) throws IOException {
- ConstantScoreQuery rewritten = new ConstantScoreQuery(query);
- rewritten.setBoost(0);
- return rewritten;
+ return new BoostQuery(new ConstantScoreQuery(query), 0f);
}
/** returns the inner Query */
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/RegexpQuery.java Tue Sep 8 12:16:06 2015
@@ -121,7 +121,6 @@ public class RegexpQuery extends Automat
buffer.append('/');
buffer.append(term.text());
buffer.append('/');
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/ScoringRewrite.java Tue Sep 8 12:16:06 2015
@@ -68,8 +68,7 @@ public abstract class ScoringRewrite<B>
protected void addClause(BooleanQuery.Builder topLevel, Term term, int docCount,
float boost, TermContext states) {
final TermQuery tq = new TermQuery(term, states);
- tq.setBoost(boost);
- topLevel.add(tq, BooleanClause.Occur.SHOULD);
+ topLevel.add(new BoostQuery(tq, boost), BooleanClause.Occur.SHOULD);
}
@Override
@@ -94,9 +93,7 @@ public abstract class ScoringRewrite<B>
public Query rewrite(IndexReader reader, MultiTermQuery query) throws IOException {
final Query bq = SCORING_BOOLEAN_REWRITE.rewrite(reader, query);
// strip the scores off
- final Query result = new ConstantScoreQuery(bq);
- result.setBoost(query.getBoost());
- return result;
+ return new ConstantScoreQuery(bq);
}
};
@@ -119,7 +116,7 @@ public abstract class ScoringRewrite<B>
final int pos = sort[i];
final Term term = new Term(query.getField(), col.terms.get(pos, new BytesRef()));
assert termStates[pos].hasOnlyRealTerms() == false || reader.docFreq(term) == termStates[pos].docFreq();
- addClause(builder, term, termStates[pos].docFreq(), query.getBoost() * boost[pos], termStates[pos]);
+ addClause(builder, term, termStates[pos].docFreq(), boost[pos], termStates[pos]);
}
}
return build(builder);
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermQuery.java?rev=1701783&r1=1701782&r2=1701783&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermQuery.java Tue Sep 8 12:16:06 2015
@@ -32,7 +32,6 @@ import org.apache.lucene.index.TermState
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.Similarity.SimScorer;
-import org.apache.lucene.util.ToStringUtils;
/**
* A Query that matches documents containing a term. This may be combined with
@@ -73,7 +72,7 @@ public class TermQuery extends Query {
termStats = new TermStatistics(term.bytes(), docFreq, totalTermFreq);
}
- this.stats = similarity.computeWeight(getBoost(), collectionStats, termStats);
+ this.stats = similarity.computeWeight(collectionStats, termStats);
}
@Override
@@ -92,8 +91,8 @@ public class TermQuery extends Query {
}
@Override
- public void normalize(float queryNorm, float topLevelBoost) {
- stats.normalize(queryNorm, topLevelBoost);
+ public void normalize(float queryNorm, float boost) {
+ stats.normalize(queryNorm, boost);
}
@Override
@@ -207,7 +206,6 @@ public class TermQuery extends Query {
buffer.append(":");
}
buffer.append(term.text());
- buffer.append(ToStringUtils.boost(getBoost()));
return buffer.toString();
}