Index: lucene/CHANGES.txt =================================================================== --- lucene/CHANGES.txt (revision 1477914) +++ lucene/CHANGES.txt (working copy) @@ -388,6 +388,8 @@ * LUCENE-4937: Fix incorrect sorting of float/double values (+/-0, NaN). (Robert Muir, Uwe Schindler) +* LUCENE-4970: Fix boost value of rewrited NGramPhraseQuery. (Shingo Sasaki) + Documentation * LUCENE-4841: Added example SimpleSortedSetFacetsExample to show how Index: lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java =================================================================== --- lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java (revision 1477914) +++ lucene/core/src/java/org/apache/lucene/search/NGramPhraseQuery.java (working copy) @@ -64,6 +64,7 @@ // now create the new optimized phrase query for n-gram PhraseQuery optimized = new PhraseQuery(); + optimized.setBoost(getBoost()); int pos = 0; final int lastPos = terms.length - 1; for(int i = 0; i < terms.length; i++){ Index: lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java =================================================================== --- lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java (revision 1477914) +++ lucene/core/src/test/org/apache/lucene/search/TestNGramPhraseQuery.java (working copy) @@ -88,6 +88,17 @@ pq3 = (PhraseQuery)q; assertArrayEquals(new Term[]{new Term("f", "ABC"), new Term("f", "DEF"), new Term("f", "FGH")}, pq3.getTerms()); assertArrayEquals(new int[]{0, 3, 5}, pq3.getPositions()); + + // boosting test + PhraseQuery pq4 = new NGramPhraseQuery(2); + pq4.add(new Term("f", "AB")); + pq4.add(new Term("f", "BC")); + pq4.add(new Term("f", "CD")); + pq4.setBoost(100.0F); + + q = pq4.rewrite(reader); + assertNotSame(pq4, q); + assertEquals(pq4.getBoost(), q.getBoost(), 0); } }