You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by bu...@apache.org on 2011/02/22 02:01:11 UTC
svn commit: r1073192 [16/32] - in /lucene/dev/branches/realtime_search: ./
dev-tools/eclipse/ dev-tools/idea/.idea/ dev-tools/idea/lucene/contrib/ant/
dev-tools/idea/lucene/contrib/demo/
dev-tools/idea/lucene/contrib/highlighter/ dev-tools/idea/lucene/...
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java Tue Feb 22 01:00:39 2011
@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -123,7 +124,11 @@ public class TestIndexWriterReader exten
} else {
iwc.setMergePolicy(NoMergePolicy.COMPOUND_FILES);
}
+ if (VERBOSE) {
+ System.out.println("TEST: make index");
+ }
IndexWriter writer = new IndexWriter(dir1, iwc);
+ writer.setInfoStream(VERBOSE ? System.out : null);
// create the index
createIndexNoClose(!optimize, "index1", writer);
@@ -145,6 +150,9 @@ public class TestIndexWriterReader exten
IndexReader r2 = writer.getReader();
assertTrue(r2.isCurrent());
assertEquals(0, count(new Term("id", id10), r2));
+ if (VERBOSE) {
+ System.out.println("TEST: verify id");
+ }
assertEquals(1, count(new Term("id", Integer.toString(8000)), r2));
r1.close();
@@ -365,7 +373,7 @@ public class TestIndexWriterReader exten
int numDirs = 3;
Directory mainDir = newDirectory();
- IndexWriter mainWriter = new IndexWriter(mainDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter mainWriter = new IndexWriter(mainDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newLogMergePolicy()));
_TestUtil.reduceOpenFiles(mainWriter);
mainWriter.setInfoStream(infoStream);
@@ -717,8 +725,9 @@ public class TestIndexWriterReader exten
// reader should remain usable even after IndexWriter is closed:
assertEquals(100, r.numDocs());
Query q = new TermQuery(new Term("indexname", "test"));
- assertEquals(100, new IndexSearcher(r).search(q, 10).totalHits);
-
+ IndexSearcher searcher = newSearcher(r);
+ assertEquals(100, searcher.search(q, 10).totalHits);
+ searcher.close();
try {
r.reopen();
fail("failed to hit AlreadyClosedException");
@@ -784,7 +793,9 @@ public class TestIndexWriterReader exten
r = r2;
}
Query q = new TermQuery(new Term("indexname", "test"));
- final int count = new IndexSearcher(r).search(q, 10).totalHits;
+ IndexSearcher searcher = newSearcher(r);
+ final int count = searcher.search(q, 10).totalHits;
+ searcher.close();
assertTrue(count >= lastCount);
lastCount = count;
}
@@ -799,7 +810,9 @@ public class TestIndexWriterReader exten
r = r2;
}
Query q = new TermQuery(new Term("indexname", "test"));
- final int count = new IndexSearcher(r).search(q, 10).totalHits;
+ IndexSearcher searcher = newSearcher(r);
+ final int count = searcher.search(q, 10).totalHits;
+ searcher.close();
assertTrue(count >= lastCount);
assertEquals(0, excs.size());
@@ -872,7 +885,9 @@ public class TestIndexWriterReader exten
r = r2;
}
Query q = new TermQuery(new Term("indexname", "test"));
- sum += new IndexSearcher(r).search(q, 10).totalHits;
+ IndexSearcher searcher = newSearcher(r);
+ sum += searcher.search(q, 10).totalHits;
+ searcher.close();
}
for(int i=0;i<NUM_THREAD;i++) {
@@ -885,8 +900,9 @@ public class TestIndexWriterReader exten
r = r2;
}
Query q = new TermQuery(new Term("indexname", "test"));
- sum += new IndexSearcher(r).search(q, 10).totalHits;
-
+ IndexSearcher searcher = newSearcher(r);
+ sum += searcher.search(q, 10).totalHits;
+ searcher.close();
assertTrue("no documents found at all", sum > 0);
assertEquals(0, excs.size());
@@ -899,7 +915,7 @@ public class TestIndexWriterReader exten
public void testExpungeDeletes() throws Throwable {
Directory dir = newDirectory();
- final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
+ final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newLogMergePolicy()));
Document doc = new Document();
doc.add(newField("field", "a b c", Field.Store.NO, Field.Index.ANALYZED));
Field id = newField("id", "", Field.Store.NO, Field.Index.NOT_ANALYZED);
@@ -970,11 +986,13 @@ public class TestIndexWriterReader exten
setMaxBufferedDocs(2).
setReaderPooling(true).
setMergedSegmentWarmer(new IndexWriter.IndexReaderWarmer() {
+ @Override
public void warm(IndexReader r) throws IOException {
- IndexSearcher s = new IndexSearcher(r);
+ IndexSearcher s = newSearcher(r);
TopDocs hits = s.search(new TermQuery(new Term("foo", "bar")), 10);
assertEquals(20, hits.totalHits);
didWarm.set(true);
+ s.close();
}
}).
setMergePolicy(newLogMergePolicy(10))
@@ -990,4 +1008,35 @@ public class TestIndexWriterReader exten
dir.close();
assertTrue(didWarm.get());
}
+
+ public void testNoTermsIndex() throws Exception {
+ // Some Codecs don't honor the ReaderTermsIndexDivisor, so skip the test if
+ // they're picked.
+ HashSet<String> illegalCodecs = new HashSet<String>();
+ illegalCodecs.add("PreFlex");
+ illegalCodecs.add("SimpleText");
+
+ IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT,
+ new MockAnalyzer()).setReaderTermsIndexDivisor(-1);
+ // Don't proceed if picked Codec is in the list of illegal ones.
+ if (illegalCodecs.contains(conf.getCodecProvider().getFieldCodec("f"))) return;
+
+ Directory dir = newDirectory();
+ IndexWriter w = new IndexWriter(dir, conf);
+ Document doc = new Document();
+ doc.add(new Field("f", "val", Store.NO, Index.ANALYZED));
+ w.addDocument(doc);
+ IndexReader r = IndexReader.open(w, true).getSequentialSubReaders()[0];
+ try {
+ r.termDocsEnum(null, "f", new BytesRef("val"));
+ fail("should have failed to seek since terms index was not loaded. Codec used " + conf.getCodecProvider().getFieldCodec("f"));
+ } catch (IllegalStateException e) {
+ // expected - we didn't load the term index
+ } finally {
+ r.close();
+ w.close();
+ dir.close();
+ }
+ }
+
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIsCurrent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIsCurrent.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIsCurrent.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestIsCurrent.java Tue Feb 22 01:00:39 2011
@@ -68,7 +68,7 @@ public class TestIsCurrent extends Lucen
// assert index has a document and reader is up2date
assertEquals("One document should be in the index", 1, writer.numDocs());
- assertTrue("Document added, reader should be stale ", reader.isCurrent());
+ assertTrue("One document added, reader should be current", reader.isCurrent());
// remove document
Term idTerm = new Term("UUID", "1");
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyBug.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyBug.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyBug.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyBug.java Tue Feb 22 01:00:39 2011
@@ -63,7 +63,7 @@ public class TestLazyBug extends LuceneT
Directory dir = newDirectory();
try {
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
- TEST_VERSION_CURRENT, new MockAnalyzer()));
+ TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newLogMergePolicy()));
LogMergePolicy lmp = (LogMergePolicy) writer.getConfig().getMergePolicy();
lmp.setUseCompoundFile(false);
for (int d = 1; d <= NUM_DOCS; d++) {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestLazyProxSkipping.java Tue Feb 22 01:00:39 2011
@@ -98,7 +98,7 @@ public class TestLazyProxSkipping extend
SegmentReader reader = getOnlySegmentReader(IndexReader.open(directory, false));
- this.searcher = new IndexSearcher(reader);
+ this.searcher = newSearcher(reader);
}
private ScoreDoc[] search() throws IOException {
@@ -126,7 +126,9 @@ public class TestLazyProxSkipping extend
// test whether only the minimum amount of seeks()
// are performed
performTest(5);
+ searcher.close();
performTest(10);
+ searcher.close();
}
public void testSeek() throws IOException {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMaxTermFrequency.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMaxTermFrequency.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMaxTermFrequency.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMaxTermFrequency.java Tue Feb 22 01:00:39 2011
@@ -45,7 +45,7 @@ public class TestMaxTermFrequency extend
super.setUp();
dir = newDirectory();
IndexWriterConfig config = newIndexWriterConfig(TEST_VERSION_CURRENT,
- new MockAnalyzer(MockTokenizer.SIMPLE, true));
+ new MockAnalyzer(MockTokenizer.SIMPLE, true)).setMergePolicy(newInOrderLogMergePolicy());
config.setSimilarityProvider(new TestSimilarity());
RandomIndexWriter writer = new RandomIndexWriter(random, dir, config);
Document doc = new Document();
@@ -109,7 +109,7 @@ public class TestMaxTermFrequency extend
}
@Override
- public float computeNorm(String field, FieldInvertState state) {
+ public float computeNorm(FieldInvertState state) {
return (float) state.getMaxTermFrequency();
}
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiFields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiFields.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiFields.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiFields.java Tue Feb 22 01:00:39 2011
@@ -32,6 +32,7 @@ public class TestMultiFields extends Luc
Directory dir = newDirectory();
IndexWriter w = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(NoMergePolicy.COMPOUND_FILES));
+ _TestUtil.keepFullyDeletedSegments(w);
Map<BytesRef,List<Integer>> docs = new HashMap<BytesRef,List<Integer>>();
Set<Integer> deleted = new HashSet<Integer>();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java Tue Feb 22 01:00:39 2011
@@ -53,6 +53,7 @@ public class TestMultiLevelSkipList exte
super(random, delegate);
}
+ @Override
public IndexInput openInput(String fileName) throws IOException {
IndexInput in = super.openInput(fileName);
if (fileName.endsWith(".frq"))
@@ -61,6 +62,7 @@ public class TestMultiLevelSkipList exte
}
}
+ @Override
@Before
public void setUp() throws Exception {
super.setUp();
@@ -69,7 +71,7 @@ public class TestMultiLevelSkipList exte
public void testSimpleSkip() throws IOException {
Directory dir = new CountingRAMDirectory(new RAMDirectory());
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new PayloadAnalyzer()).setCodecProvider(_TestUtil.alwaysCodec("Standard")));
+ IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new PayloadAnalyzer()).setCodecProvider(_TestUtil.alwaysCodec("Standard")).setMergePolicy(newInOrderLogMergePolicy()));
Term term = new Term("test", "a");
for (int i = 0; i < 5000; i++) {
Document d1 = new Document();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTReaderWithThreads.java Tue Feb 22 01:00:39 2011
@@ -36,6 +36,7 @@ public class TestNRTReaderWithThreads ex
setMaxBufferedDocs(10).
setMergePolicy(newLogMergePolicy(false,2))
);
+ writer.setInfoStream(VERBOSE ? System.out : null);
IndexReader reader = writer.getReader(); // start pooling readers
reader.close();
RunThread[] indexThreads = new RunThread[4];
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java Tue Feb 22 01:00:39 2011
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.HashSet;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.Executors;
@@ -87,14 +88,16 @@ public class TestNRTThreads extends Luce
}
}
- sum += new IndexSearcher(reader).search(new TermQuery(new Term("body", "united")), 10).totalHits;
+ IndexSearcher searcher = newSearcher(reader);
+ sum += searcher.search(new TermQuery(new Term("body", "united")), 10).totalHits;
+ searcher.close();
if (VERBOSE) {
System.out.println("TEST: warm visited " + sum + " fields");
}
}
});
-
+
final IndexWriter writer = new IndexWriter(dir, conf);
if (VERBOSE) {
writer.setInfoStream(System.out);
@@ -105,10 +108,12 @@ public class TestNRTThreads extends Luce
((ConcurrentMergeScheduler) ms).setMaxThreadCount(1);
((ConcurrentMergeScheduler) ms).setMaxMergeCount(1);
}
+ /*
LogMergePolicy lmp = (LogMergePolicy) writer.getConfig().getMergePolicy();
if (lmp.getMergeFactor() > 5) {
lmp.setMergeFactor(5);
}
+ */
final int NUM_INDEX_THREADS = 2;
final int NUM_SEARCH_THREADS = 3;
@@ -118,7 +123,7 @@ public class TestNRTThreads extends Luce
final AtomicInteger addCount = new AtomicInteger();
final AtomicInteger delCount = new AtomicInteger();
- final List<String> delIDs = Collections.synchronizedList(new ArrayList<String>());
+ final Set<String> delIDs = Collections.synchronizedSet(new HashSet<String>());
final long stopTime = System.currentTimeMillis() + RUN_TIME_SEC*1000;
Thread[] threads = new Thread[NUM_INDEX_THREADS];
@@ -142,20 +147,20 @@ public class TestNRTThreads extends Luce
}
if (random.nextBoolean()) {
if (VERBOSE) {
- //System.out.println(Thread.currentThread().getName() + ": add doc id:" + doc.get("id"));
+ System.out.println(Thread.currentThread().getName() + ": add doc id:" + doc.get("id"));
}
writer.addDocument(doc);
} else {
// we use update but it never replaces a
// prior doc
if (VERBOSE) {
- //System.out.println(Thread.currentThread().getName() + ": update doc id:" + doc.get("id"));
+ System.out.println(Thread.currentThread().getName() + ": update doc id:" + doc.get("id"));
}
writer.updateDocument(new Term("id", doc.get("id")), doc);
}
if (random.nextInt(5) == 3) {
if (VERBOSE) {
- //System.out.println(Thread.currentThread().getName() + ": buffer del id:" + doc.get("id"));
+ System.out.println(Thread.currentThread().getName() + ": buffer del id:" + doc.get("id"));
}
toDeleteIDs.add(doc.get("id"));
}
@@ -164,6 +169,9 @@ public class TestNRTThreads extends Luce
System.out.println(Thread.currentThread().getName() + ": apply " + toDeleteIDs.size() + " deletes");
}
for(String id : toDeleteIDs) {
+ if (VERBOSE) {
+ System.out.println(Thread.currentThread().getName() + ": del term=id:" + id);
+ }
writer.deleteDocuments(new Term("id", id));
}
final int count = delCount.addAndGet(toDeleteIDs.size());
@@ -200,7 +208,7 @@ public class TestNRTThreads extends Luce
// let index build up a bit
Thread.sleep(100);
- IndexReader r = IndexReader.open(writer);
+ IndexReader r = IndexReader.open(writer, true);
boolean any = false;
// silly starting guess:
@@ -233,7 +241,7 @@ public class TestNRTThreads extends Luce
if (VERBOSE) {
System.out.println("TEST: now open");
}
- r = IndexReader.open(writer);
+ r = IndexReader.open(writer, true);
}
if (VERBOSE) {
System.out.println("TEST: got new reader=" + r);
@@ -346,13 +354,29 @@ public class TestNRTThreads extends Luce
}
final IndexReader r2 = writer.getReader();
- final IndexSearcher s = new IndexSearcher(r2);
+ final IndexSearcher s = newSearcher(r2);
+ boolean doFail = false;
for(String id : delIDs) {
final TopDocs hits = s.search(new TermQuery(new Term("id", id)), 1);
if (hits.totalHits != 0) {
- fail("doc id=" + id + " is supposed to be deleted, but got docID=" + hits.scoreDocs[0].doc);
+ System.out.println("doc id=" + id + " is supposed to be deleted, but got docID=" + hits.scoreDocs[0].doc);
+ doFail = true;
+ }
+ }
+
+ final int endID = Integer.parseInt(docs.nextDoc().get("id"));
+ for(int id=0;id<endID;id++) {
+ String stringID = ""+id;
+ if (!delIDs.contains(stringID)) {
+ final TopDocs hits = s.search(new TermQuery(new Term("id", stringID)), 1);
+ if (hits.totalHits != 1) {
+ System.out.println("doc id=" + stringID + " is not supposed to be deleted, but got hitCount=" + hits.totalHits);
+ doFail = true;
+ }
}
}
+ assertFalse(doFail);
+
assertEquals("index=" + writer.segString() + " addCount=" + addCount + " delCount=" + delCount, addCount.get() - delCount.get(), r2.numDocs());
r2.close();
@@ -362,6 +386,7 @@ public class TestNRTThreads extends Luce
assertFalse(writer.anyNonBulkMerges);
writer.close(false);
_TestUtil.checkIndex(dir);
+ s.close();
dir.close();
_TestUtil.rmDir(tempDir);
docs.close();
@@ -376,7 +401,7 @@ public class TestNRTThreads extends Luce
}
private void smokeTestReader(IndexReader r) throws Exception {
- IndexSearcher s = new IndexSearcher(r);
+ IndexSearcher s = newSearcher(r);
runQuery(s, new TermQuery(new Term("body", "united")));
runQuery(s, new TermQuery(new Term("titleTokenized", "states")));
PhraseQuery pq = new PhraseQuery();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNorms.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNorms.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestNorms.java Tue Feb 22 01:00:39 2011
@@ -42,7 +42,7 @@ public class TestNorms extends LuceneTes
private class SimilarityOne extends DefaultSimilarity {
@Override
- public float computeNorm(String fieldName, FieldInvertState state) {
+ public float computeNorm(FieldInvertState state) {
// Disable length norm
return state.getBoost();
}
@@ -152,7 +152,7 @@ public class TestNorms extends LuceneTes
private void createIndex(Random random, Directory dir) throws IOException {
IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.CREATE)
- .setMaxBufferedDocs(5).setSimilarityProvider(similarityOne));
+ .setMaxBufferedDocs(5).setSimilarityProvider(similarityOne).setMergePolicy(newInOrderLogMergePolicy()));
LogMergePolicy lmp = (LogMergePolicy) iw.getConfig().getMergePolicy();
lmp.setMergeFactor(3);
lmp.setUseCompoundFile(true);
@@ -197,7 +197,7 @@ public class TestNorms extends LuceneTes
private void addDocs(Random random, Directory dir, int ndocs, boolean compound) throws IOException {
IndexWriter iw = new IndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND)
- .setMaxBufferedDocs(5).setSimilarityProvider(similarityOne));
+ .setMaxBufferedDocs(5).setSimilarityProvider(similarityOne).setMergePolicy(newInOrderLogMergePolicy()));
LogMergePolicy lmp = (LogMergePolicy) iw.getConfig().getMergePolicy();
lmp.setMergeFactor(3);
lmp.setUseCompoundFile(compound);
@@ -252,7 +252,7 @@ public class TestNorms extends LuceneTes
}
@Override
- public float computeNorm(String field, FieldInvertState state) {
+ public float computeNorm(FieldInvertState state) {
return (float) state.getLength();
}
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitNorms.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitNorms.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitNorms.java Tue Feb 22 01:00:39 2011
@@ -25,7 +25,6 @@ import org.apache.lucene.analysis.Analyz
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.search.Similarity;
import org.apache.lucene.store.Directory;
public class TestOmitNorms extends LuceneTestCase {
@@ -194,7 +193,7 @@ public class TestOmitNorms extends Lucen
Directory ram = newDirectory();
Analyzer analyzer = new MockAnalyzer();
IndexWriter writer = new IndexWriter(ram, newIndexWriterConfig(
- TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(3));
+ TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(3).setMergePolicy(newLogMergePolicy()));
writer.setInfoStream(VERBOSE ? System.out : null);
LogMergePolicy lmp = (LogMergePolicy) writer.getConfig().getMergePolicy();
lmp.setMergeFactor(2);
@@ -265,7 +264,7 @@ public class TestOmitNorms extends Lucen
*/
static byte[] getNorms(String field, Field f1, Field f2) throws IOException {
Directory dir = newDirectory();
- IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer());
+ IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy());
RandomIndexWriter riw = new RandomIndexWriter(random, dir, iwc);
// add f1
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitTf.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitTf.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitTf.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestOmitTf.java Tue Feb 22 01:00:39 2011
@@ -36,7 +36,7 @@ import org.apache.lucene.search.Explanat
public class TestOmitTf extends LuceneTestCase {
public static class SimpleSimilarity extends Similarity implements SimilarityProvider {
- @Override public float computeNorm(String field, FieldInvertState state) { return state.getBoost(); }
+ @Override public float computeNorm(FieldInvertState state) { return state.getBoost(); }
@Override public float tf(float freq) { return freq; }
@Override public float sloppyFreq(int distance) { return 2.0f; }
@Override public float idf(int docFreq, int numDocs) { return 1.0f; }
@@ -219,7 +219,7 @@ public class TestOmitTf extends LuceneTe
Directory ram = newDirectory();
Analyzer analyzer = new MockAnalyzer();
IndexWriter writer = new IndexWriter(ram, newIndexWriterConfig(
- TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(3));
+ TEST_VERSION_CURRENT, analyzer).setMaxBufferedDocs(3).setMergePolicy(newLogMergePolicy()));
LogMergePolicy lmp = (LogMergePolicy) writer.getConfig().getMergePolicy();
lmp.setMergeFactor(2);
lmp.setUseCompoundFile(false);
@@ -255,8 +255,9 @@ public class TestOmitTf extends LuceneTe
newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer).
setMaxBufferedDocs(2).
setSimilarityProvider(new SimpleSimilarity()).
- setMergePolicy(newLogMergePolicy(2))
+ setMergePolicy(newInOrderLogMergePolicy(2))
);
+ writer.setInfoStream(VERBOSE ? System.out : null);
StringBuilder sb = new StringBuilder(265);
String term = "term";
@@ -334,7 +335,7 @@ public class TestOmitTf extends LuceneTe
public final void collect(int doc) throws IOException {
//System.out.println("Q2: Doc=" + doc + " score=" + score);
float score = scorer.score();
- assertTrue(score==1.0f+doc);
+ assertEquals(1.0f+doc, score, 0.00001f);
super.collect(doc);
}
});
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestParallelReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestParallelReader.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestParallelReader.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestParallelReader.java Tue Feb 22 01:00:39 2011
@@ -47,7 +47,9 @@ public class TestParallelReader extends
@Override
public void tearDown() throws Exception {
single.getIndexReader().close();
+ single.close();
parallel.getIndexReader().close();
+ parallel.close();
dir.close();
dir1.close();
dir2.close();
@@ -267,7 +269,7 @@ public class TestParallelReader extends
ParallelReader pr = new ParallelReader();
pr.add(IndexReader.open(dir1, false));
pr.add(IndexReader.open(dir2, false));
- return new IndexSearcher(pr);
+ return newSearcher(pr);
}
private Directory getDir1(Random random) throws IOException {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPayloads.java Tue Feb 22 01:00:39 2011
@@ -163,7 +163,8 @@ public class TestPayloads extends Lucene
PayloadAnalyzer analyzer = new PayloadAnalyzer();
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, analyzer)
- .setOpenMode(OpenMode.CREATE));
+ .setOpenMode(OpenMode.CREATE)
+ .setMergePolicy(newInOrderLogMergePolicy()));
// should be in sync with value in TermInfosWriter
final int skipInterval = 16;
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerFieldCodecSupport.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerFieldCodecSupport.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerFieldCodecSupport.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerFieldCodecSupport.java Tue Feb 22 01:00:39 2011
@@ -123,7 +123,7 @@ public class TestPerFieldCodecSupport ex
IndexWriterConfig iwconf = newIndexWriterConfig(TEST_VERSION_CURRENT,
new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setCodecProvider(provider);
iwconf.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
- ((LogMergePolicy) iwconf.getMergePolicy()).setMergeFactor(10);
+ //((LogMergePolicy) iwconf.getMergePolicy()).setMergeFactor(10);
IndexWriter writer = newWriter(dir, iwconf);
addDocs(writer, 10);
@@ -143,8 +143,8 @@ public class TestPerFieldCodecSupport ex
iwconf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer())
.setOpenMode(OpenMode.APPEND).setCodecProvider(provider);
- ((LogMergePolicy) iwconf.getMergePolicy()).setUseCompoundFile(false);
- ((LogMergePolicy) iwconf.getMergePolicy()).setMergeFactor(10);
+ //((LogMergePolicy) iwconf.getMergePolicy()).setUseCompoundFile(false);
+ //((LogMergePolicy) iwconf.getMergePolicy()).setMergeFactor(10);
iwconf.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
provider = new MockCodecProvider2(); // uses standard for field content
@@ -216,7 +216,7 @@ public class TestPerFieldCodecSupport ex
IndexFileNames.FIELD_INFOS_EXTENSION));
FieldInfo fieldInfo = fieldInfos.fieldInfo(field);
assertEquals("faild for segment index: " + i, codec[i],
- codecInfo.codecs[fieldInfo.codecId]);
+ codecInfo.codecs[fieldInfo.getCodecId()]);
}
}
@@ -227,7 +227,7 @@ public class TestPerFieldCodecSupport ex
}
IndexReader reader = IndexReader.open(dir, null, true,
IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, codecs);
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
TopDocs search = searcher.search(new TermQuery(t), num + 10);
assertEquals(num, search.totalHits);
searcher.close();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestPerSegmentDeletes.java Tue Feb 22 01:00:39 2011
@@ -46,6 +46,7 @@ public class TestPerSegmentDeletes exten
RangeMergePolicy fsmp = new RangeMergePolicy(false);
iwc.setMergePolicy(fsmp);
IndexWriter writer = new IndexWriter(dir, iwc);
+ writer.setInfoStream(VERBOSE ? System.out : null);
for (int x = 0; x < 5; x++) {
writer.addDocument(TestIndexWriterReader.createDocument(x, "1", 2));
//System.out.println("numRamDocs(" + x + ")" + writer.numRamDocs());
@@ -73,12 +74,12 @@ public class TestPerSegmentDeletes exten
// flushing without applying deletes means
// there will still be deletes in the segment infos
writer.flush(false, false);
- assertTrue(writer.bufferedDeletes.any());
+ assertTrue(writer.bufferedDeletesStream.any());
// get reader flushes pending deletes
// so there should not be anymore
IndexReader r1 = writer.getReader();
- assertFalse(writer.bufferedDeletes.any());
+ assertFalse(writer.bufferedDeletesStream.any());
r1.close();
// delete id:2 from the first segment
@@ -256,6 +257,7 @@ public class TestPerSegmentDeletes exten
@Override
public void close() {}
+ @Override
public MergeSpecification findMerges(SegmentInfos segmentInfos)
throws CorruptIndexException, IOException {
MergeSpecification ms = new MergeSpecification();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentInfo.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentInfo.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentInfo.java Tue Feb 22 01:00:39 2011
@@ -29,8 +29,9 @@ public class TestSegmentInfo extends Luc
public void testSizeInBytesCache() throws Exception {
Directory dir = newDirectory();
- IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer());
+ IndexWriterConfig conf = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newLogMergePolicy());
IndexWriter writer = new IndexWriter(dir, conf);
+ writer.setInfoStream(VERBOSE ? System.out : null);
Document doc = new Document();
doc.add(new Field("a", "value", Store.YES, Index.ANALYZED));
writer.addDocument(doc);
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Tue Feb 22 01:00:39 2011
@@ -79,8 +79,8 @@ public class TestSegmentMerger extends L
int docsMerged = merger.merge();
assertTrue(docsMerged == 2);
//Should be able to open a new SegmentReader against the new directory
- SegmentReader mergedReader = SegmentReader.get(false, mergedDir, new SegmentInfo(mergedSegment, docsMerged, mergedDir, false, merger.fieldInfos().hasProx(),
- merger.getSegmentCodecs(), merger.fieldInfos().hasVectors()),
+ SegmentReader mergedReader = SegmentReader.get(false, mergedDir, new SegmentInfo(mergedSegment, docsMerged, mergedDir, false,
+ merger.getSegmentCodecs(), merger.fieldInfos()),
BufferedIndexInput.BUFFER_SIZE, true, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR);
assertTrue(mergedReader != null);
assertTrue(mergedReader.numDocs() == 2);
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSegmentTermDocs.java Tue Feb 22 01:00:39 2011
@@ -105,7 +105,7 @@ public class TestSegmentTermDocs extends
public void testSkipTo(int indexDivisor) throws IOException {
Directory dir = newDirectory();
- IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
Term ta = new Term("content","aaa");
for(int i = 0; i < 10; i++)
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestSnapshotDeletionPolicy.java Tue Feb 22 01:00:39 2011
@@ -1,5 +1,22 @@
package org.apache.lucene.index;
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import java.util.Collection;
import java.util.Map;
import java.util.Random;
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestStressIndexing2.java Tue Feb 22 01:00:39 2011
@@ -149,7 +149,7 @@ public class TestStressIndexing2 extends
Map<String,Document> docs = new HashMap<String,Document>();
IndexWriter w = new MockIndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE).setRAMBufferSizeMB(
- 0.1).setMaxBufferedDocs(maxBufferedDocs));
+ 0.1).setMaxBufferedDocs(maxBufferedDocs).setMergePolicy(newLogMergePolicy()));
w.setInfoStream(VERBOSE ? System.out : null);
w.commit();
LogMergePolicy lmp = (LogMergePolicy) w.getConfig().getMergePolicy();
@@ -206,7 +206,7 @@ public class TestStressIndexing2 extends
IndexWriter w = new MockIndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.CREATE)
.setRAMBufferSizeMB(0.1).setMaxBufferedDocs(maxBufferedDocs).setIndexerThreadPool(new ThreadAffinityDocumentsWriterThreadPool(maxThreadStates))
- .setReaderPooling(doReaderPooling));
+ .setReaderPooling(doReaderPooling).setMergePolicy(newLogMergePolicy()));
w.setInfoStream(VERBOSE ? System.out : null);
LogMergePolicy lmp = (LogMergePolicy) w.getConfig().getMergePolicy();
lmp.setUseCompoundFile(false);
@@ -248,7 +248,7 @@ public class TestStressIndexing2 extends
public static void indexSerial(Random random, Map<String,Document> docs, Directory dir) throws IOException {
- IndexWriter w = new IndexWriter(dir, LuceneTestCase.newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()));
+ IndexWriter w = new IndexWriter(dir, LuceneTestCase.newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newLogMergePolicy()));
// index all docs in a single thread
Iterator<Document> iter = docs.values().iterator();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestThreadedOptimize.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestThreadedOptimize.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestThreadedOptimize.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/index/TestThreadedOptimize.java Tue Feb 22 01:00:39 2011
@@ -71,7 +71,7 @@ public class TestThreadedOptimize extend
}
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
- //writer.setInfoStream(System.out);
+ writer.setInfoStream(VERBOSE ? System.out : null);
Thread[] threads = new Thread[NUM_THREADS];
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/queryParser/TestQueryParser.java Tue Feb 22 01:00:39 2011
@@ -35,6 +35,7 @@ import org.apache.lucene.analysis.TokenS
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.document.DateTools;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -58,6 +59,7 @@ import org.apache.lucene.search.Wildcard
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.Version;
import org.apache.lucene.util.automaton.BasicAutomata;
import org.apache.lucene.util.automaton.CharacterRunAutomaton;
import org.apache.lucene.util.automaton.RegExp;
@@ -1140,12 +1142,13 @@ public class TestQueryParser extends Luc
Document doc = new Document();
doc.add(newField("f", "the wizard of ozzy", Field.Store.NO, Field.Index.ANALYZED));
w.addDocument(doc);
- IndexReader r = IndexReader.open(w);
+ IndexReader r = IndexReader.open(w, true);
w.close();
- IndexSearcher s = new IndexSearcher(r);
+ IndexSearcher s = newSearcher(r);
QueryParser qp = new QueryParser(TEST_VERSION_CURRENT, "f", a);
Query q = qp.parse("\"wizard of ozzy\"");
assertEquals(1, s.search(q, 1).totalHits);
+ s.close();
r.close();
dir.close();
}
@@ -1174,5 +1177,87 @@ public class TestQueryParser extends Luc
// expected
}
}
+
+ /**
+ * adds synonym of "dog" for "dogs".
+ */
+ private class MockSynonymFilter extends TokenFilter {
+ CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
+ PositionIncrementAttribute posIncAtt = addAttribute(PositionIncrementAttribute.class);
+ boolean addSynonym = false;
+
+ public MockSynonymFilter(TokenStream input) {
+ super(input);
+ }
+
+ @Override
+ public final boolean incrementToken() throws IOException {
+ if (addSynonym) { // inject our synonym
+ clearAttributes();
+ termAtt.setEmpty().append("dog");
+ posIncAtt.setPositionIncrement(0);
+ addSynonym = false;
+ return true;
+ }
+
+ if (input.incrementToken()) {
+ addSynonym = termAtt.toString().equals("dogs");
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+
+ /** whitespace+lowercase analyzer with synonyms */
+ private class Analyzer1 extends Analyzer {
+ @Override
+ public TokenStream tokenStream(String fieldName, Reader reader) {
+ return new MockSynonymFilter(new MockTokenizer(reader, MockTokenizer.WHITESPACE, true));
+ }
+ }
+
+ /** whitespace+lowercase analyzer without synonyms */
+ private class Analyzer2 extends Analyzer {
+ @Override
+ public TokenStream tokenStream(String fieldName, Reader reader) {
+ return new MockTokenizer(reader, MockTokenizer.WHITESPACE, true);
+ }
+ }
+
+ /** query parser that doesn't expand synonyms when users use double quotes */
+ private class SmartQueryParser extends QueryParser {
+ Analyzer morePrecise = new Analyzer2();
+
+ public SmartQueryParser() {
+ super(TEST_VERSION_CURRENT, "field", new Analyzer1());
+ }
+ @Override
+ protected Query getFieldQuery(String field, String queryText, boolean quoted)
+ throws ParseException {
+ if (quoted)
+ return newFieldQuery(morePrecise, field, queryText, quoted);
+ else
+ return super.getFieldQuery(field, queryText, quoted);
+ }
+ }
+
+ public void testNewFieldQuery() throws Exception {
+ /** ordinary behavior, synonyms form uncoordinated boolean query */
+ QueryParser dumb = new QueryParser(TEST_VERSION_CURRENT, "field", new Analyzer1());
+ BooleanQuery expanded = new BooleanQuery(true);
+ expanded.add(new TermQuery(new Term("field", "dogs")), BooleanClause.Occur.SHOULD);
+ expanded.add(new TermQuery(new Term("field", "dog")), BooleanClause.Occur.SHOULD);
+ assertEquals(expanded, dumb.parse("\"dogs\""));
+ /** even with the phrase operator the behavior is the same */
+ assertEquals(expanded, dumb.parse("dogs"));
+
+ /** custom behavior, the synonyms are expanded, unless you use quote operator */
+ QueryParser smart = new SmartQueryParser();
+ assertEquals(expanded, smart.parse("dogs"));
+
+ Query unexpanded = new TermQuery(new Term("field", "dogs"));
+ assertEquals(unexpanded, smart.parse("\"dogs\""));
+ }
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java Tue Feb 22 01:00:39 2011
@@ -124,14 +124,14 @@ public class BaseTestRangeFilter extends
RandomIndexWriter writer = new RandomIndexWriter(random, index.index,
newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
- .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
+ .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)).setMergePolicy(newLogMergePolicy()));
+ _TestUtil.reduceOpenFiles(writer.w);
+
while(true) {
int minCount = 0;
int maxCount = 0;
- _TestUtil.reduceOpenFiles(writer.w);
-
for (int d = minId; d <= maxId; d++) {
idField.setValue(pad(d));
int r = index.allowNegativeRandomInts ? random.nextInt() : random
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java Tue Feb 22 01:00:39 2011
@@ -248,7 +248,7 @@ final class JustCompileSearch {
}
@Override
- public float computeNorm(String fieldName, FieldInvertState state) {
+ public float computeNorm(FieldInvertState state) {
throw new UnsupportedOperationException(UNSUPPORTED_MSG);
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQuery.java Tue Feb 22 01:00:39 2011
@@ -40,6 +40,7 @@ public class TestAutomatonQuery extends
private final String FN = "field";
+ @Override
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
@@ -61,10 +62,11 @@ public class TestAutomatonQuery extends
+ " with numbers 1234 5678.9 and letter b");
writer.addDocument(doc);
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
+ @Override
public void tearDown() throws Exception {
searcher.close();
reader.close();
@@ -77,6 +79,9 @@ public class TestAutomatonQuery extends
}
private int automatonQueryNrHits(AutomatonQuery query) throws IOException {
+ if (VERBOSE) {
+ System.out.println("TEST: run aq=" + query);
+ }
return searcher.search(query, 5).totalHits;
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestAutomatonQueryUnicode.java Tue Feb 22 01:00:39 2011
@@ -41,6 +41,7 @@ public class TestAutomatonQueryUnicode e
private final String FN = "field";
+ @Override
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
@@ -81,10 +82,11 @@ public class TestAutomatonQueryUnicode e
field.setValue("\uFFFD\uFFFD");
writer.addDocument(doc);
reader = writer.getReader();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
+ @Override
public void tearDown() throws Exception {
searcher.close();
reader.close();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBoolean2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBoolean2.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBoolean2.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBoolean2.java Tue Feb 22 01:00:39 2011
@@ -54,7 +54,7 @@ public class TestBoolean2 extends Lucene
@BeforeClass
public static void beforeClass() throws Exception {
directory = newDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
for (int i = 0; i < docFields.length; i++) {
Document doc = new Document();
doc.add(newField(field, docFields[i], Field.Store.NO, Field.Index.ANALYZED));
@@ -92,7 +92,7 @@ public class TestBoolean2 extends Lucene
w.addDocument(doc);
}
reader = w.getReader();
- bigSearcher = new IndexSearcher(reader);
+ bigSearcher = newSearcher(reader);
w.close();
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Tue Feb 22 01:00:39 2011
@@ -65,7 +65,7 @@ public class TestBooleanMinShouldMatch e
}
r = w.getReader();
- s = new IndexSearcher(r);
+ s = newSearcher(r);
w.close();
//System.out.println("Set up " + getName());
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanOr.java Tue Feb 22 01:00:39 2011
@@ -154,7 +154,7 @@ public class TestBooleanOr extends Lucen
reader = writer.getReader();
//
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
writer.close();
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanQuery.java Tue Feb 22 01:00:39 2011
@@ -73,7 +73,7 @@ public class TestBooleanQuery extends Lu
w.addDocument(doc);
IndexReader r = w.getReader();
- IndexSearcher s = new IndexSearcher(r);
+ IndexSearcher s = newSearcher(r);
BooleanQuery q = new BooleanQuery();
q.add(new TermQuery(new Term("field", "a")), BooleanClause.Occur.SHOULD);
@@ -120,6 +120,7 @@ public class TestBooleanQuery extends Lu
dmq.add(pq);
assertEquals(1, s.search(dmq, 10).totalHits);
+ s.close();
r.close();
w.close();
dir.close();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestBooleanScorer.java Tue Feb 22 01:00:39 2011
@@ -56,9 +56,10 @@ public class TestBooleanScorer extends L
query.add(booleanQuery1, BooleanClause.Occur.MUST);
query.add(new TermQuery(new Term(FIELD, "9")), BooleanClause.Occur.MUST_NOT);
- IndexSearcher indexSearcher = new IndexSearcher(ir);
+ IndexSearcher indexSearcher = newSearcher(ir);
ScoreDoc[] hits = indexSearcher.search(query, null, 1000).scoreDocs;
assertEquals("Number of matched documents", 2, hits.length);
+ indexSearcher.close();
ir.close();
directory.close();
}
@@ -74,7 +75,7 @@ public class TestBooleanScorer extends L
writer.commit();
IndexReader ir = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(ir);
+ IndexSearcher searcher = newSearcher(ir);
BooleanWeight weight = (BooleanWeight) new BooleanQuery().createWeight(searcher);
Scorer[] scorers = new Scorer[] {new Scorer(weight) {
private int doc = -1;
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingSpanFilter.java Tue Feb 22 01:00:39 2011
@@ -29,6 +29,7 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util._TestUtil;
public class TestCachingSpanFilter extends LuceneTestCase {
@@ -47,8 +48,8 @@ public class TestCachingSpanFilter exten
// flipping a coin) may give us a newly opened reader,
// but we use .reopen on this reader below and expect to
// (must) get an NRT reader:
- IndexReader reader = IndexReader.open(writer.w);
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexReader reader = IndexReader.open(writer.w, true);
+ IndexSearcher searcher = newSearcher(reader);
// add a doc, refresh the reader, and check that its there
Document doc = new Document();
@@ -56,7 +57,8 @@ public class TestCachingSpanFilter exten
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
TopDocs docs = searcher.search(new MatchAllDocsQuery(), 1);
assertEquals("Should find a hit...", 1, docs.totalHits);
@@ -65,18 +67,21 @@ public class TestCachingSpanFilter exten
// ignore deletions
CachingSpanFilter filter = new CachingSpanFilter(startFilter, CachingWrapperFilter.DeletesMode.IGNORE);
-
+
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should find a hit...", 1, docs.totalHits);
ConstantScoreQuery constantScore = new ConstantScoreQuery(filter);
docs = searcher.search(constantScore, 1);
assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
- // now delete the doc, refresh the reader, and see that it's not there
+ // now delete the doc, refresh the reader, and see that
+ // it's not there
+ _TestUtil.keepFullyDeletedSegments(writer.w);
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
@@ -90,8 +95,9 @@ public class TestCachingSpanFilter exten
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
-
+ searcher.close();
+ searcher = newSearcher(reader);
+
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should find a hit...", 1, docs.totalHits);
@@ -108,7 +114,8 @@ public class TestCachingSpanFilter exten
// that had no new deletions
reader = refreshReader(reader);
assertTrue(reader != oldReader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
int missCount = filter.missCount;
docs = searcher.search(constantScore, 1);
assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
@@ -118,7 +125,8 @@ public class TestCachingSpanFilter exten
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
@@ -132,6 +140,7 @@ public class TestCachingSpanFilter exten
// entry:
assertTrue(oldReader != null);
+ searcher.close();
writer.close();
reader.close();
dir.close();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCachingWrapperFilter.java Tue Feb 22 01:00:39 2011
@@ -22,8 +22,8 @@ import java.io.IOException;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SerialMergeScheduler;
import org.apache.lucene.index.SlowMultiReaderWrapper;
@@ -32,6 +32,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.OpenBitSet;
import org.apache.lucene.util.OpenBitSetDISI;
+import org.apache.lucene.util._TestUtil;
public class TestCachingWrapperFilter extends LuceneTestCase {
@@ -169,8 +170,8 @@ public class TestCachingWrapperFilter ex
// flipping a coin) may give us a newly opened reader,
// but we use .reopen on this reader below and expect to
// (must) get an NRT reader:
- IndexReader reader = IndexReader.open(writer.w);
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexReader reader = IndexReader.open(writer.w, true);
+ IndexSearcher searcher = newSearcher(reader);
// add a doc, refresh the reader, and check that its there
Document doc = new Document();
@@ -178,7 +179,8 @@ public class TestCachingWrapperFilter ex
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
TopDocs docs = searcher.search(new MatchAllDocsQuery(), 1);
assertEquals("Should find a hit...", 1, docs.totalHits);
@@ -195,10 +197,12 @@ public class TestCachingWrapperFilter ex
assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
// now delete the doc, refresh the reader, and see that it's not there
+ _TestUtil.keepFullyDeletedSegments(writer.w);
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
@@ -213,7 +217,8 @@ public class TestCachingWrapperFilter ex
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
@@ -232,7 +237,8 @@ public class TestCachingWrapperFilter ex
// that had no change to deletions
reader = refreshReader(reader);
assertTrue(reader != oldReader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
int missCount = filter.missCount;
docs = searcher.search(constantScore, 1);
assertEquals("[just filter] Should find a hit...", 1, docs.totalHits);
@@ -242,7 +248,8 @@ public class TestCachingWrapperFilter ex
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
missCount = filter.missCount;
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
@@ -257,7 +264,8 @@ public class TestCachingWrapperFilter ex
writer.addDocument(doc);
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should find a hit...", 1, docs.totalHits);
@@ -269,7 +277,8 @@ public class TestCachingWrapperFilter ex
writer.deleteDocuments(new Term("id", "1"));
reader = refreshReader(reader);
- searcher = new IndexSearcher(reader);
+ searcher.close();
+ searcher = newSearcher(reader);
docs = searcher.search(new MatchAllDocsQuery(), filter, 1);
assertEquals("[query + filter] Should *not* find a hit...", 0, docs.totalHits);
@@ -287,6 +296,7 @@ public class TestCachingWrapperFilter ex
// entry:
assertTrue(oldReader != null);
+ searcher.close();
reader.close();
writer.close();
dir.close();
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestComplexExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestComplexExplanations.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestComplexExplanations.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestComplexExplanations.java Tue Feb 22 01:00:39 2011
@@ -36,6 +36,12 @@ public class TestComplexExplanations ext
super.setUp();
searcher.setSimilarityProvider(createQnorm1Similarity());
}
+
+ @Override
+ public void tearDown() throws Exception {
+ searcher.close();
+ super.tearDown();
+ }
// must be static for weight serialization tests
private static DefaultSimilarity createQnorm1Similarity() {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestConstantScoreQuery.java Tue Feb 22 01:00:39 2011
@@ -94,7 +94,7 @@ public class TestConstantScoreQuery exte
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
// set a similarity that does not normalize our boost away
searcher.setSimilarityProvider(new DefaultSimilarity() {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestCustomSearcherSort.java Tue Feb 22 01:00:39 2011
@@ -17,7 +17,6 @@ package org.apache.lucene.search;
*/
import java.io.IOException;
-import java.io.Serializable;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Map;
@@ -34,7 +33,7 @@ import org.apache.lucene.store.Directory
import org.apache.lucene.util.LuceneTestCase;
/** Unit test for sorting code. */
-public class TestCustomSearcherSort extends LuceneTestCase implements Serializable {
+public class TestCustomSearcherSort extends LuceneTestCase {
private Directory index = null;
private IndexReader reader;
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateFilter.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateFilter.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateFilter.java Tue Feb 22 01:00:39 2011
@@ -57,7 +57,7 @@ public class TestDateFilter extends Luce
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// filter that should preserve matches
// DateFilter df1 = DateFilter.Before("datefield", now);
@@ -98,6 +98,7 @@ public class TestDateFilter extends Luce
result = searcher.search(query2, df2, 1000).scoreDocs;
assertEquals(0, result.length);
+ searcher.close();
reader.close();
indexStore.close();
}
@@ -123,7 +124,7 @@ public class TestDateFilter extends Luce
IndexReader reader = writer.getReader();
writer.close();
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
// filter that should preserve matches
// DateFilter df1 = DateFilter.After("datefield", now);
@@ -165,6 +166,7 @@ public class TestDateFilter extends Luce
result = searcher.search(query2, df2, 1000).scoreDocs;
assertEquals(0, result.length);
+ searcher.close();
reader.close();
indexStore.close();
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateSort.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateSort.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateSort.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDateSort.java Tue Feb 22 01:00:39 2011
@@ -28,7 +28,6 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.queryParser.QueryParser;
-import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
@@ -78,7 +77,7 @@ public class TestDateSort extends Lucene
}
public void testReverseDateSort() throws Exception {
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
Sort sort = new Sort(new SortField(DATE_TIME_FIELD, SortField.STRING, true));
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java Tue Feb 22 01:00:39 2011
@@ -62,7 +62,7 @@ public class TestDisjunctionMaxQuery ext
}
@Override
- public float computeNorm(String fieldName, FieldInvertState state) {
+ public float computeNorm(FieldInvertState state) {
// Disable length norm
return state.getBoost();
}
@@ -85,7 +85,7 @@ public class TestDisjunctionMaxQuery ext
index = newDirectory();
RandomIndexWriter writer = new RandomIndexWriter(random, index,
newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer())
- .setSimilarityProvider(sim));
+ .setSimilarityProvider(sim).setMergePolicy(newInOrderLogMergePolicy()));
// hed is the most important field, dek is secondary
@@ -149,7 +149,7 @@ public class TestDisjunctionMaxQuery ext
r = new SlowMultiReaderWrapper(writer.getReader());
writer.close();
- s = new IndexSearcher(r);
+ s = newSearcher(r);
s.setSimilarityProvider(sim);
}
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocBoost.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocBoost.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocBoost.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocBoost.java Tue Feb 22 01:00:39 2011
@@ -19,13 +19,14 @@ package org.apache.lucene.search;
import java.io.IOException;
-import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.*;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.LuceneTestCase;
/** Document boost unit test.
*
@@ -36,7 +37,7 @@ public class TestDocBoost extends Lucene
public void testDocBoost() throws Exception {
Directory store = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random, store);
+ RandomIndexWriter writer = new RandomIndexWriter(random, store, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
Fieldable f1 = newField("field", "word", Field.Store.YES, Field.Index.ANALYZED);
Fieldable f2 = newField("field", "word", Field.Store.YES, Field.Index.ANALYZED);
@@ -64,7 +65,7 @@ public class TestDocBoost extends Lucene
final float[] scores = new float[4];
- new IndexSearcher(reader).search
+ newSearcher(reader).search
(new TermQuery(new Term("field", "word")),
new Collector() {
private int base = 0;
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestDocIdSet.java Tue Feb 22 01:00:39 2011
@@ -109,7 +109,7 @@ public class TestDocIdSet extends Lucene
writer.close();
// First verify the document is searchable.
- IndexSearcher searcher = new IndexSearcher(reader);
+ IndexSearcher searcher = newSearcher(reader);
Assert.assertEquals(1, searcher.search(new MatchAllDocsQuery(), 10).totalHits);
// Now search w/ a Filter which returns a null DocIdSet
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestElevationComparator.java Tue Feb 22 01:00:39 2011
@@ -50,10 +50,10 @@ public class TestElevationComparator ext
writer.addDocument(adoc(new String[] {"id", "y", "title", "boosted boosted", "str_s","y"}));
writer.addDocument(adoc(new String[] {"id", "z", "title", "boosted boosted boosted","str_s", "z"}));
- IndexReader r = IndexReader.open(writer);
+ IndexReader r = IndexReader.open(writer, true);
writer.close();
- IndexSearcher searcher = new IndexSearcher(r);
+ IndexSearcher searcher = newSearcher(r);
runTest(searcher, true);
runTest(searcher, false);
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestExplanations.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestExplanations.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestExplanations.java Tue Feb 22 01:00:39 2011
@@ -68,7 +68,7 @@ public class TestExplanations extends Lu
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
for (int i = 0; i < docFields.length; i++) {
Document doc = new Document();
doc.add(newField(KEY, ""+i, Field.Store.NO, Field.Index.NOT_ANALYZED));
@@ -77,7 +77,7 @@ public class TestExplanations extends Lu
}
reader = writer.getReader();
writer.close();
- searcher = new IndexSearcher(reader);
+ searcher = newSearcher(reader);
}
protected String[] docFields = {
Modified: lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestFieldCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestFieldCache.java?rev=1073192&r1=1073191&r2=1073192&view=diff
==============================================================================
--- lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestFieldCache.java (original)
+++ lucene/dev/branches/realtime_search/lucene/src/test/org/apache/lucene/search/TestFieldCache.java Tue Feb 22 01:00:39 2011
@@ -41,7 +41,7 @@ public class TestFieldCache extends Luce
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer= new RandomIndexWriter(random, directory);
+ RandomIndexWriter writer= new RandomIndexWriter(random, directory, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setMergePolicy(newInOrderLogMergePolicy()));
long theLong = Long.MAX_VALUE;
double theDouble = Double.MAX_VALUE;
byte theByte = Byte.MAX_VALUE;
@@ -214,7 +214,7 @@ public class TestFieldCache extends Luce
public void testEmptyIndex() throws Exception {
Directory dir = newDirectory();
IndexWriter writer= new IndexWriter(dir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()).setMaxBufferedDocs(500));
- IndexReader r = IndexReader.open(writer);
+ IndexReader r = IndexReader.open(writer, true);
FieldCache.DocTerms terms = FieldCache.DEFAULT.getTerms(r, "foobar");
FieldCache.DocTermsIndex termsIndex = FieldCache.DEFAULT.getTermsIndex(r, "foobar");
r.close();