You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2010/07/30 20:23:13 UTC
svn commit: r980909 - in /lucene/dev/trunk/lucene: CHANGES.txt
src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
Author: mikemccand
Date: Fri Jul 30 18:23:13 2010
New Revision: 980909
URL: http://svn.apache.org/viewvc?rev=980909&view=rev
Log:
LUCENE-2580: fix AIOOBE in MultiPhraseQuery
Modified:
lucene/dev/trunk/lucene/CHANGES.txt
lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=980909&r1=980908&r2=980909&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Fri Jul 30 18:23:13 2010
@@ -457,6 +457,9 @@ Bug fixes
* LUCENE-2537: FSDirectory.copy() implementation was unsafe and could result in
OOM if a large file was copied. (Shai Erera)
+* LUCENE-2580: MultiPhraseQuery throws AIOOBE if number of positions
+ exceeds number of terms at one position (Jayendra Patil via Mike McCandless)
+
New features
* LUCENE-2128: Parallelized fetching document frequencies during weight
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java?rev=980909&r1=980908&r2=980909&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java Fri Jul 30 18:23:13 2010
@@ -132,7 +132,25 @@ public class TestMultiPhraseQuery extend
searcher.close();
reader.close();
indexStore.close();
-
+ }
+
+ // LUCENE-2580
+ public void testTall() throws IOException {
+ MockRAMDirectory indexStore = new MockRAMDirectory();
+ RandomIndexWriter writer = new RandomIndexWriter(newRandom(), indexStore);
+ add("blueberry chocolate pie", writer);
+ add("blueberry chocolate tart", writer);
+ IndexReader r = writer.getReader();
+ writer.close();
+
+ IndexSearcher searcher = new IndexSearcher(r);
+ MultiPhraseQuery q = new MultiPhraseQuery();
+ q.add(new Term("body", "blueberry"));
+ q.add(new Term("body", "chocolate"));
+ q.add(new Term[] {new Term("body", "pie"), new Term("body", "tart")});
+ assertEquals(2, searcher.search(q, 1).totalHits);
+ r.close();
+ indexStore.close();
}
private void add(String s, RandomIndexWriter writer) throws IOException {