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 2013/04/25 21:27:06 UTC
svn commit: r1475920 -
/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java
Author: mikemccand
Date: Thu Apr 25 19:27:05 2013
New Revision: 1475920
URL: http://svn.apache.org/r1475920
Log:
fix test bug
Modified:
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java?rev=1475920&r1=1475919&r2=1475920&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestFilteredSearch.java Thu Apr 25 19:27:05 2013
@@ -51,8 +51,6 @@ public class TestFilteredSearch extends
searchFiltered(writer, directory, filter, enforceSingleSegment);
// run the test on more than one segment
enforceSingleSegment = false;
- // reset - it is stateful
- filter.reset();
writer.close();
writer = new IndexWriter(directory, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random())).setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(10).setMergePolicy(newLogMergePolicy()));
// we index 60 docs - this will create 6 segments
@@ -61,37 +59,30 @@ public class TestFilteredSearch extends
directory.close();
}
- public void searchFiltered(IndexWriter writer, Directory directory, Filter filter, boolean fullMerge) {
- try {
- for (int i = 0; i < 60; i++) {//Simple docs
- Document doc = new Document();
- doc.add(newStringField(FIELD, Integer.toString(i), Field.Store.YES));
- writer.addDocument(doc);
- }
- if (fullMerge) {
- writer.forceMerge(1);
- }
- writer.close();
+ public void searchFiltered(IndexWriter writer, Directory directory, Filter filter, boolean fullMerge) throws IOException {
+ for (int i = 0; i < 60; i++) {//Simple docs
+ Document doc = new Document();
+ doc.add(newStringField(FIELD, Integer.toString(i), Field.Store.YES));
+ writer.addDocument(doc);
+ }
+ if (fullMerge) {
+ writer.forceMerge(1);
+ }
+ writer.close();
- BooleanQuery booleanQuery = new BooleanQuery();
- booleanQuery.add(new TermQuery(new Term(FIELD, "36")), BooleanClause.Occur.SHOULD);
+ BooleanQuery booleanQuery = new BooleanQuery();
+ booleanQuery.add(new TermQuery(new Term(FIELD, "36")), BooleanClause.Occur.SHOULD);
- IndexReader reader = DirectoryReader.open(directory);
- IndexSearcher indexSearcher = newSearcher(reader);
- ScoreDoc[] hits = indexSearcher.search(booleanQuery, filter, 1000).scoreDocs;
- assertEquals("Number of matched documents", 1, hits.length);
- reader.close();
- }
- catch (IOException e) {
- fail(e.getMessage());
- }
-
+ IndexReader reader = DirectoryReader.open(directory);
+ IndexSearcher indexSearcher = newSearcher(reader);
+ ScoreDoc[] hits = indexSearcher.search(booleanQuery, filter, 1000).scoreDocs;
+ assertEquals("Number of matched documents", 1, hits.length);
+ reader.close();
}
public static final class SimpleDocIdSetFilter extends Filter {
private final int[] docs;
- private int index;
public SimpleDocIdSetFilter(int[] docs) {
this.docs = docs;
@@ -103,20 +94,14 @@ public class TestFilteredSearch extends
final FixedBitSet set = new FixedBitSet(context.reader().maxDoc());
int docBase = context.docBase;
final int limit = docBase+context.reader().maxDoc();
- for (;index < docs.length; index++) {
+ for (int index=0;index < docs.length; index++) {
final int docId = docs[index];
- if(docId > limit)
- break;
- if (docId >= docBase) {
+ if (docId >= docBase && docId < limit) {
set.set(docId-docBase);
}
}
return set.cardinality() == 0 ? null:set;
}
-
- public void reset(){
- index = 0;
- }
}
}