You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/03/07 17:13:19 UTC
svn commit: r1575307 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/core/ lucene/core/src/java/org/apache/lucene/search/ lucene/misc/
lucene/misc/src/java/org/apache/lucene/index/sorter/
lucene/misc/src/test/org/apache/lucene/index/sorter/
Author: rmuir
Date: Fri Mar 7 16:13:18 2014
New Revision: 1575307
URL: http://svn.apache.org/r1575307
Log:
LUCENE-5500: SortingMergePolicy should error if the Sort refers to the score
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/Sort.java
lucene/dev/branches/branch_4x/lucene/misc/ (props changed)
lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java
lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/SortingAtomicReaderTest.java
lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/TestSortingMergePolicy.java
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/Sort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/Sort.java?rev=1575307&r1=1575306&r2=1575307&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/Sort.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/search/Sort.java Fri Mar 7 16:13:18 2014
@@ -202,8 +202,8 @@ public class Sort {
return 0x45aaf665 + Arrays.hashCode(fields);
}
- /** Whether the relevance score is needed to sort documents. */
- boolean needsScores() {
+ /** Returns true if the relevance score is needed to sort documents. */
+ public boolean needsScores() {
for (SortField sortField : fields) {
if (sortField.needsScores()) {
return true;
Modified: lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java?rev=1575307&r1=1575306&r2=1575307&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java Fri Mar 7 16:13:18 2014
@@ -39,6 +39,9 @@ final class Sorter {
/** Creates a new Sorter to sort the index with {@code sort} */
Sorter(Sort sort) {
+ if (sort.needsScores()) {
+ throw new IllegalArgumentException("Cannot sort an index with a Sort that refers to the relevance score");
+ }
this.sort = sort;
}
Modified: lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/SortingAtomicReaderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/SortingAtomicReaderTest.java?rev=1575307&r1=1575306&r2=1575307&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/SortingAtomicReaderTest.java (original)
+++ lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/SortingAtomicReaderTest.java Fri Mar 7 16:13:18 2014
@@ -62,5 +62,14 @@ public class SortingAtomicReaderTest ext
TestUtil.checkReader(reader);
}
+
+ public void testBadSort() throws Exception {
+ try {
+ SortingAtomicReader.wrap(reader, Sort.RELEVANCE);
+ fail("Didn't get expected exception");
+ } catch (IllegalArgumentException e) {
+ assertEquals("Cannot sort an index with a Sort that refers to the relevance score", e.getMessage());
+ }
+ }
}
Modified: lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/TestSortingMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/TestSortingMergePolicy.java?rev=1575307&r1=1575306&r2=1575307&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/TestSortingMergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/misc/src/test/org/apache/lucene/index/sorter/TestSortingMergePolicy.java Fri Mar 7 16:13:18 2014
@@ -174,5 +174,14 @@ public class TestSortingMergePolicy exte
assertReaderEquals("", sortedReader1, sortedReader2);
}
+
+ public void testBadSort() throws Exception {
+ try {
+ new SortingMergePolicy(newMergePolicy(), Sort.RELEVANCE);
+ fail("Didn't get expected exception");
+ } catch (IllegalArgumentException e) {
+ assertEquals("Cannot sort an index with a Sort that refers to the relevance score", e.getMessage());
+ }
+ }
}