You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by us...@apache.org on 2010/02/13 15:09:20 UTC
svn commit: r909826 - in /lucene/java/branches/lucene_2_9: ./ contrib/
contrib/highlighter/src/test/
contrib/instantiated/src/java/org/apache/lucene/store/instantiated/
contrib/instantiated/src/test/org/apache/lucene/store/instantiated/
contrib/snowbal...
Author: uschindler
Date: Sat Feb 13 14:09:17 2010
New Revision: 909826
URL: http://svn.apache.org/viewvc?rev=909826&view=rev
Log:
Merge LUCENE-2165 and LUCENE-2144 before 2.9.2. Also streamline changes.txt
Added:
lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedAllTermDocs.java
- copied unchanged from r889688, lucene/java/branches/lucene_3_0/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedAllTermDocs.java
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AbstractAllTermDocs.java
- copied unchanged from r889688, lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/index/AbstractAllTermDocs.java
Modified:
lucene/java/branches/lucene_2_9/ (props changed)
lucene/java/branches/lucene_2_9/CHANGES.txt (props changed)
lucene/java/branches/lucene_2_9/build.xml (props changed)
lucene/java/branches/lucene_2_9/contrib/ (props changed)
lucene/java/branches/lucene_2_9/contrib/CHANGES.txt (contents, props changed)
lucene/java/branches/lucene_2_9/contrib/highlighter/src/test/ (props changed)
lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java
lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java
lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java
lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocs.java
lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java (contents, props changed)
lucene/java/branches/lucene_2_9/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java
lucene/java/branches/lucene_2_9/contrib/snowball/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/analysis/Tokenizer.java (props changed)
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AllTermDocs.java
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/SegmentReader.java
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java (props changed)
lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/util/AttributeSource.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestDateTools.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestNumberTools.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (props changed)
lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/util/TestAttributeSource.java (props changed)
Propchange: lucene/java/branches/lucene_2_9/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,3 +1,3 @@
/lucene/java/branches/lucene_2_4:748824
-/lucene/java/branches/lucene_3_0:886275,899639,900212,908479,909401
-/lucene/java/trunk:821888,824125,826029,826385,830871,833095,833297,833886,881819,882672,883554,884870,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0:886275,889688,891211,899639,900212,908479,909401
+/lucene/java/trunk:821888,824125,826029,826385,830871,833095,833297,833886,881819,882672,883554,884870,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/CHANGES.txt:899639,900212,908479,909401
-/lucene/java/trunk/CHANGES.txt:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/CHANGES.txt:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/CHANGES.txt:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/build.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/build.xml:900212,908479,909401
-/lucene/java/trunk/build.xml:821888,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/build.xml:889688,891211,900212,908479,909401
+/lucene/java/trunk/build.xml:821888,889431-889432,891209,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/contrib:899639,900212,908479,909401
-/lucene/java/trunk/contrib:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/contrib:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/contrib:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Modified: lucene/java/branches/lucene_2_9/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/CHANGES.txt?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/CHANGES.txt (original)
+++ lucene/java/branches/lucene_2_9/contrib/CHANGES.txt Sat Feb 13 14:09:17 2010
@@ -1,11 +1,6 @@
Lucene contrib change Log
-======================= 2.9 branch (not yet released) =======================
-
-API Changes
-
- * LUCENE-2108: Add SpellChecker.close, to close the underlying
- reader. (Eirik Bjørsnøs via Mike McCandless)
+======================= Release 2.9.2 2010-02-19 =======================
New features
@@ -17,6 +12,10 @@
Bug Fixes
+ * LUCENE-2144: Fix InstantiatedIndex to handle termDocs(null)
+ correctly (enumerate all non-deleted docs). (Karl Wettin via Mike
+ McCandless)
+
* LUCENE-2199: ShingleFilter skipped over tri-gram shingles if outputUnigram
was set to false. (Simon Willnauer)
@@ -33,6 +32,14 @@
CJKTokenizer, ChineseTokenizer, SmartChinese SentenceTokenizer,
and WikipediaTokenizer. (Koji Sekiguchi, Robert Muir)
+API Changes
+
+ * LUCENE-2108: Add SpellChecker.close, to close the underlying
+ reader. (Eirik Bjørsnøs via Mike McCandless)
+
+ * LUCENE-2165: Add a constructor to SnowballAnalyzer that takes a Set of
+ stopwords, and deprecate the String[] one. (Nick Burch via Robert Muir)
+
======================= Release 2.9.1 2009-11-06 =======================
Changes in backwards compatibility policy
Propchange: lucene/java/branches/lucene_2_9/contrib/CHANGES.txt
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/contrib/CHANGES.txt:900212,908479,909401
-/lucene/java/trunk/contrib/CHANGES.txt:821888,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/contrib/CHANGES.txt:889688,891211,900212,908479,909401
+/lucene/java/trunk/contrib/CHANGES.txt:821888,889431-889432,891209,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/contrib/highlighter/src/test/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/contrib/highlighter/src/test:900212,908479,909401
-/lucene/java/trunk/contrib/highlighter/src/test:821888,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/contrib/highlighter/src/test:889688,891211,900212,908479,909401
+/lucene/java/trunk/contrib/highlighter/src/test:821888,889431-889432,891209,899627,900196,908477,908975,909398
Modified: lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndex.java Sat Feb 13 14:09:17 2010
@@ -34,6 +34,7 @@
import org.apache.lucene.index.TermEnum;
import org.apache.lucene.index.TermPositionVector;
import org.apache.lucene.index.TermPositions;
+import org.apache.lucene.util.BitVector;
/**
* Represented as a coupled graph of class instances, this
@@ -60,8 +61,7 @@
private InstantiatedDocument[] documentsByNumber;
- /** todo: should this be a BitSet? */
- private Set<Integer> deletedDocuments;
+ private BitVector deletedDocuments;
private Map<String, Map<String, InstantiatedTerm>> termsByFieldAndText;
private InstantiatedTerm[] orderedTerms;
@@ -84,7 +84,6 @@
orderedTerms = new InstantiatedTerm[0];
documentsByNumber = new InstantiatedDocument[0];
normsByFieldNameAndDocumentNumber = new HashMap<String, byte[]>();
- deletedDocuments = new HashSet<Integer>();
}
@@ -173,11 +172,14 @@
documentsByNumber = new InstantiatedDocument[sourceIndexReader.maxDoc()];
+ if (sourceIndexReader.hasDeletions()) {
+ deletedDocuments = new BitVector(sourceIndexReader.maxDoc());
+ }
// create documents
for (int i = 0; i < sourceIndexReader.maxDoc(); i++) {
- if (sourceIndexReader.isDeleted(i)) {
- deletedDocuments.add(i);
+ if (sourceIndexReader.hasDeletions() && sourceIndexReader.isDeleted(i)) {
+ deletedDocuments.set(i);
} else {
InstantiatedDocument document = new InstantiatedDocument();
// copy stored fields from source reader
@@ -328,10 +330,13 @@
this.normsByFieldNameAndDocumentNumber = normsByFieldNameAndDocumentNumber;
}
- public Set<Integer> getDeletedDocuments() {
+ public BitVector getDeletedDocuments() {
return deletedDocuments;
}
+ void setDeletedDocuments(BitVector deletedDocuments) {
+ this.deletedDocuments = deletedDocuments;
+ }
void setOrderedTerms(InstantiatedTerm[] orderedTerms) {
this.orderedTerms = orderedTerms;
Modified: lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java Sat Feb 13 14:09:17 2010
@@ -29,16 +29,9 @@
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldSelector;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.Term;
-import org.apache.lucene.index.TermDocs;
-import org.apache.lucene.index.TermEnum;
-import org.apache.lucene.index.TermFreqVector;
-import org.apache.lucene.index.TermPositions;
-import org.apache.lucene.index.TermVectorMapper;
+import org.apache.lucene.index.*;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.BitVector;
/**
* An InstantiatedIndexReader is not a snapshot in time, it is completely in
@@ -101,9 +94,9 @@
return index;
}
- private Set<InstantiatedDocument> deletedDocuments = new HashSet<InstantiatedDocument>();
- private Set<Integer> deletedDocumentNumbers = new HashSet<Integer>();
- private Map<String,List<NormUpdate>> updatedNormsByFieldNameAndDocumentNumber = null;
+ private BitVector uncommittedDeletedDocuments;
+
+ private Map<String,List<NormUpdate>> uncommittedNormsByFieldNameAndDocumentNumber = null;
private class NormUpdate {
private int doc;
@@ -116,32 +109,53 @@
}
public int numDocs() {
- return getIndex().getDocumentsByNumber().length - index.getDeletedDocuments().size() - deletedDocuments.size();
+ // todo i suppose this value could be cached, but array#length and bitvector#count is fast.
+ int numDocs = getIndex().getDocumentsByNumber().length;
+ if (uncommittedDeletedDocuments != null) {
+ numDocs -= uncommittedDeletedDocuments.count();
+ }
+ if (index.getDeletedDocuments() != null) {
+ numDocs -= index.getDeletedDocuments().count();
+ }
+ return numDocs;
}
public int maxDoc() {
return getIndex().getDocumentsByNumber().length;
}
- public boolean isDeleted(int n) {
- return getIndex().getDeletedDocuments().contains(n) || deletedDocumentNumbers.contains(n);
+ public boolean hasDeletions() {
+ return index.getDeletedDocuments() != null || uncommittedDeletedDocuments != null;
}
- public boolean hasDeletions() {
- return getIndex().getDeletedDocuments().size() > 0 || deletedDocumentNumbers.size() > 0;
+
+ @Override
+ public boolean isDeleted(int n) {
+ return (index.getDeletedDocuments() != null && index.getDeletedDocuments().get(n))
+ || (uncommittedDeletedDocuments != null && uncommittedDeletedDocuments.get(n));
}
+
+ @Override
protected void doDelete(int docNum) throws IOException {
- if (!getIndex().getDeletedDocuments().contains(docNum)) {
- if (deletedDocumentNumbers.add(docNum)) {
- deletedDocuments.add(getIndex().getDocumentsByNumber()[docNum]);
- }
+
+ // dont delete if already deleted
+ if ((index.getDeletedDocuments() != null && index.getDeletedDocuments().get(docNum))
+ || (uncommittedDeletedDocuments != null && uncommittedDeletedDocuments.get(docNum))) {
+ return;
}
+
+ if (uncommittedDeletedDocuments == null) {
+ uncommittedDeletedDocuments = new BitVector(maxDoc());
+ }
+
+ uncommittedDeletedDocuments.set(docNum);
}
protected void doUndeleteAll() throws IOException {
- deletedDocumentNumbers.clear();
- deletedDocuments.clear();
+ // todo: read/write lock
+ uncommittedDeletedDocuments = null;
+ // todo: read/write unlock
}
protected void doCommit() throws IOException {
@@ -150,25 +164,30 @@
boolean updated = false;
// 1. update norms
- if (updatedNormsByFieldNameAndDocumentNumber != null) {
- for (Map.Entry<String,List<NormUpdate>> e : updatedNormsByFieldNameAndDocumentNumber.entrySet()) {
+ if (uncommittedNormsByFieldNameAndDocumentNumber != null) {
+ for (Map.Entry<String,List<NormUpdate>> e : uncommittedNormsByFieldNameAndDocumentNumber.entrySet()) {
byte[] norms = getIndex().getNormsByFieldNameAndDocumentNumber().get(e.getKey());
for (NormUpdate normUpdate : e.getValue()) {
norms[normUpdate.doc] = normUpdate.value;
}
}
- updatedNormsByFieldNameAndDocumentNumber = null;
+ uncommittedNormsByFieldNameAndDocumentNumber = null;
updated = true;
}
// 2. remove deleted documents
- if (deletedDocumentNumbers.size() > 0) {
- for (Integer doc : deletedDocumentNumbers) {
- getIndex().getDeletedDocuments().add(doc);
+ if (uncommittedDeletedDocuments != null) {
+ if (index.getDeletedDocuments() == null) {
+ index.setDeletedDocuments(uncommittedDeletedDocuments);
+ } else {
+ for (int d = 0; d< uncommittedDeletedDocuments.size(); d++) {
+ if (uncommittedDeletedDocuments.get(d)) {
+ index.getDeletedDocuments().set(d);
+ }
+ }
}
- deletedDocumentNumbers.clear();
- deletedDocuments.clear();
+ uncommittedDeletedDocuments = null;
updated = true;
@@ -283,9 +302,9 @@
if (norms == null) {
return new byte[0]; // todo a static final zero length attribute?
}
- if (updatedNormsByFieldNameAndDocumentNumber != null) {
+ if (uncommittedNormsByFieldNameAndDocumentNumber != null) {
norms = norms.clone();
- List<NormUpdate> updated = updatedNormsByFieldNameAndDocumentNumber.get(field);
+ List<NormUpdate> updated = uncommittedNormsByFieldNameAndDocumentNumber.get(field);
if (updated != null) {
for (NormUpdate normUpdate : updated) {
norms[normUpdate.doc] = normUpdate.value;
@@ -304,13 +323,13 @@
}
protected void doSetNorm(int doc, String field, byte value) throws IOException {
- if (updatedNormsByFieldNameAndDocumentNumber == null) {
- updatedNormsByFieldNameAndDocumentNumber = new HashMap<String,List<NormUpdate>>(getIndex().getNormsByFieldNameAndDocumentNumber().size());
+ if (uncommittedNormsByFieldNameAndDocumentNumber == null) {
+ uncommittedNormsByFieldNameAndDocumentNumber = new HashMap<String,List<NormUpdate>>(getIndex().getNormsByFieldNameAndDocumentNumber().size());
}
- List<NormUpdate> list = updatedNormsByFieldNameAndDocumentNumber.get(field);
+ List<NormUpdate> list = uncommittedNormsByFieldNameAndDocumentNumber.get(field);
if (list == null) {
list = new LinkedList<NormUpdate>();
- updatedNormsByFieldNameAndDocumentNumber.put(field, list);
+ uncommittedNormsByFieldNameAndDocumentNumber.put(field, list);
}
list.add(new NormUpdate(doc, value));
}
@@ -345,6 +364,19 @@
return new InstantiatedTermDocs(this);
}
+
+ @Override
+ public TermDocs termDocs(Term term) throws IOException {
+ if (term == null) {
+ return new InstantiatedAllTermDocs(this);
+ } else {
+ InstantiatedTermDocs termDocs = new InstantiatedTermDocs(this);
+ termDocs.seek(term);
+ return termDocs;
+ }
+ }
+
+ @Override
public TermPositions termPositions() throws IOException {
return new InstantiatedTermPositions(this);
}
@@ -384,7 +416,7 @@
public void getTermFreqVector(int docNumber, TermVectorMapper mapper) throws IOException {
InstantiatedDocument doc = getIndex().getDocumentsByNumber()[docNumber];
- for (Map.Entry<String,List<InstantiatedTermDocumentInformation>> e : doc.getVectorSpace().entrySet()) {
+ for (Map.Entry<String, List<InstantiatedTermDocumentInformation>> e : doc.getVectorSpace().entrySet()) {
mapper.setExpectations(e.getKey(), e.getValue().size(), true, true);
for (InstantiatedTermDocumentInformation tdi : e.getValue()) {
mapper.map(tdi.getTerm().text(), tdi.getTermPositions().length, tdi.getTermOffsets(), tdi.getTermPositions());
Modified: lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexWriter.java Sat Feb 13 14:09:17 2010
@@ -44,6 +44,7 @@
import org.apache.lucene.search.DefaultSimilarity;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.util.StringHelper;
+import org.apache.lucene.util.BitVector;
/**
* This class, similar to {@link org.apache.lucene.index.IndexWriter}, has no locking mechanism.
@@ -404,6 +405,18 @@
termDocumentInformationFactoryByDocument.clear();
fieldNameBuffer.clear();
+
+ // update deleted documents bitset
+ if (index.getDeletedDocuments() != null) {
+ BitVector deletedDocuments = new BitVector(index.getDocumentsByNumber().length);
+ for (int i = 0; i < index.getDeletedDocuments().size(); i++) {
+ if (index.getDeletedDocuments().get(i)) {
+ deletedDocuments.set(i);
+ }
+ }
+ index.setDeletedDocuments(deletedDocuments);
+ }
+
index.setVersion(System.currentTimeMillis());
// todo unlock
Modified: lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocs.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocs.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocs.java Sat Feb 13 14:09:17 2010
@@ -60,11 +60,14 @@
currentDocumentIndex++;
if (currentDocumentIndex < currentTerm.getAssociatedDocuments().length) {
currentDocumentInformation = currentTerm.getAssociatedDocuments()[currentDocumentIndex];
- if (reader.hasDeletions() && reader.isDeleted(currentDocumentInformation.getDocument().getDocumentNumber())) {
+ if (reader.isDeleted(currentDocumentInformation.getDocument().getDocumentNumber())) {
return next();
} else {
return true;
}
+ } else {
+ // mimic SegmentTermDocs
+ currentDocumentIndex = currentTerm.getAssociatedDocuments().length -1;
}
}
return false;
@@ -111,6 +114,8 @@
int pos = currentTerm.seekCeilingDocumentInformationIndex(target, startOffset);
if (pos == -1) {
+ // mimic SegmentTermDocs that positions at the last index
+ currentDocumentIndex = currentTerm.getAssociatedDocuments().length -1;
return false;
}
Modified: lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java Sat Feb 13 14:09:17 2010
@@ -41,8 +41,6 @@
import org.apache.lucene.index.TermPositions;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocCollector;
import org.apache.lucene.search.TopScoreDocCollector;
import org.apache.lucene.util.AttributeSource;
@@ -106,53 +104,155 @@
}
instantiatedIndexWriter.close();
+
testEqualBehaviour(dir, ii);
- testTermDocs(dir, ii);
}
- private void testTermDocs(Directory aprioriIndex, InstantiatedIndex testIndex) throws Exception {
+ private void testTermDocsSomeMore(Directory aprioriIndex, InstantiatedIndex testIndex) throws Exception {
IndexReader aprioriReader = IndexReader.open(aprioriIndex);
IndexReader testReader = testIndex.indexReaderFactory();
- TermEnum aprioriTermEnum = aprioriReader.terms(new Term("c", "danny"));
+ // test seek
- TermDocs aprioriTermDocs = aprioriReader.termDocs(aprioriTermEnum.term());
- TermDocs testTermDocs = testReader.termDocs(aprioriTermEnum.term());
+ Term t = new Term("c", "danny");
+ TermEnum aprioriTermEnum = aprioriReader.terms(t);
+ TermEnum testTermEnum = testReader.terms(t);
- assertEquals(aprioriTermDocs.next(), testTermDocs.next());
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ assertEquals(aprioriTermEnum.term(), testTermEnum.term());
- assertEquals(aprioriTermDocs.skipTo(100), testTermDocs.skipTo(100));
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ t = aprioriTermEnum.term();
- assertEquals(aprioriTermDocs.next(), testTermDocs.next());
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ aprioriTermEnum.close();
+ testTermEnum.close();
+
+ TermDocs aprioriTermDocs = aprioriReader.termDocs(t);
+ TermDocs testTermDocs = testReader.termDocs(t);
assertEquals(aprioriTermDocs.next(), testTermDocs.next());
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
- assertEquals(aprioriTermDocs.skipTo(110), testTermDocs.skipTo(110));
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ if (aprioriTermDocs.skipTo(4)) {
+ assertTrue(testTermDocs.skipTo(4));
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.skipTo(4));
+ }
- assertEquals(aprioriTermDocs.skipTo(10), testTermDocs.skipTo(10));
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ if (aprioriTermDocs.next()) {
+ assertTrue(testTermDocs.next());
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.next());
+ }
- assertEquals(aprioriTermDocs.skipTo(210), testTermDocs.skipTo(210));
- assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+
+ // beyond this point all next and skipto will return false
+
+ if (aprioriTermDocs.skipTo(100)) {
+ assertTrue(testTermDocs.skipTo(100));
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.skipTo(100));
+ }
+
+
+ if (aprioriTermDocs.next()) {
+ assertTrue(testTermDocs.next());
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.next());
+ }
+
+ if (aprioriTermDocs.skipTo(110)) {
+ assertTrue(testTermDocs.skipTo(110));
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.skipTo(110));
+ }
+
+ if (aprioriTermDocs.skipTo(10)) {
+ assertTrue(testTermDocs.skipTo(10));
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.skipTo(10));
+ }
+
+
+ if (aprioriTermDocs.skipTo(210)) {
+ assertTrue(testTermDocs.skipTo(210));
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ } else {
+ assertFalse(testTermDocs.skipTo(210));
+ }
aprioriTermDocs.close();
- aprioriReader.close();
+ testTermDocs.close();
+
+
+
+ // test seek null (AllTermDocs)
+ aprioriTermDocs = aprioriReader.termDocs(null);
+ testTermDocs = testReader.termDocs(null);
+
+ while (aprioriTermDocs.next()) {
+ assertTrue(testTermDocs.next());
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ }
+ assertFalse(testTermDocs.next());
+
+
+ aprioriTermDocs.close();
+ testTermDocs.close();
+
+
+ // test seek default
+ aprioriTermDocs = aprioriReader.termDocs();
+ testTermDocs = testReader.termDocs();
+
+ // this is invalid use of the API,
+ // but if the response differs then it's an indication that something might have changed.
+ // in 2.9 and 3.0 the two TermDocs-implementations returned different values at this point.
+// assertEquals("Descripency during invalid use of the TermDocs API, see comments in test code for details.",
+// aprioriTermDocs.next(), testTermDocs.next());
+
+ // start using the API the way one is supposed to use it
+
+ t = new Term("", "");
+ aprioriTermDocs.seek(t);
+ testTermDocs.seek(t);
+
+ while (aprioriTermDocs.next()) {
+ assertTrue(testTermDocs.next());
+ assertEquals(aprioriTermDocs.freq(), testTermDocs.freq());
+ assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());
+ }
+ assertFalse(testTermDocs.next());
+ aprioriTermDocs.close();
testTermDocs.close();
+
+
+ // clean up
+ aprioriReader.close();
testReader.close();
}
+
private void assembleDocument(Document document, int i) {
document.add(new Field("a", i + " Do you really want to go and live in that house all winter?", Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
if (i > 0) {
@@ -214,18 +314,57 @@
*/
protected void testEqualBehaviour(Directory aprioriIndex, InstantiatedIndex testIndex) throws Exception {
+
testEquals(aprioriIndex, testIndex);
- // delete a few documents
- IndexReader ir = IndexReader.open(aprioriIndex);
- ir.deleteDocument(3);
- ir.deleteDocument(8);
- ir.close();
+ // delete a few documents
+ IndexReader air = IndexReader.open(aprioriIndex, false);
+ InstantiatedIndexReader tir = testIndex.indexReaderFactory();
+
+ assertEquals(air.isCurrent(), tir.isCurrent());
+ assertEquals(air.hasDeletions(), tir.hasDeletions());
+ assertEquals(air.maxDoc(), tir.maxDoc());
+ assertEquals(air.numDocs(), tir.numDocs());
+ assertEquals(air.numDeletedDocs(), tir.numDeletedDocs());
+
+ air.deleteDocument(3);
+ tir.deleteDocument(3);
+
+ assertEquals(air.isCurrent(), tir.isCurrent());
+ assertEquals(air.hasDeletions(), tir.hasDeletions());
+ assertEquals(air.maxDoc(), tir.maxDoc());
+ assertEquals(air.numDocs(), tir.numDocs());
+ assertEquals(air.numDeletedDocs(), tir.numDeletedDocs());
+
+ air.deleteDocument(8);
+ tir.deleteDocument(8);
+
+ assertEquals(air.isCurrent(), tir.isCurrent());
+ assertEquals(air.hasDeletions(), tir.hasDeletions());
+ assertEquals(air.maxDoc(), tir.maxDoc());
+ assertEquals(air.numDocs(), tir.numDocs());
+ assertEquals(air.numDeletedDocs(), tir.numDeletedDocs());
+
+ // this (in 3.0) commits the deletions
+ air.close();
+ tir.close();
+
+ air = IndexReader.open(aprioriIndex, false);
+ tir = testIndex.indexReaderFactory();
+
+ assertEquals(air.isCurrent(), tir.isCurrent());
+ assertEquals(air.hasDeletions(), tir.hasDeletions());
+ assertEquals(air.maxDoc(), tir.maxDoc());
+ assertEquals(air.numDocs(), tir.numDocs());
+ assertEquals(air.numDeletedDocs(), tir.numDeletedDocs());
+
+ for (int d =0; d<air.maxDoc(); d++) {
+ assertEquals(air.isDeleted(d), tir.isDeleted(d));
+ }
+
+ air.close();
+ tir.close();
- ir = testIndex.indexReaderFactory();
- ir.deleteDocument(3);
- ir.deleteDocument(8);
- ir.close();
// make sure they still equal
testEquals(aprioriIndex, testIndex);
@@ -233,7 +372,9 @@
protected void testEquals(Directory aprioriIndex, InstantiatedIndex testIndex) throws Exception {
- IndexReader aprioriReader = IndexReader.open(aprioriIndex);
+ testTermDocsSomeMore(aprioriIndex, testIndex);
+
+ IndexReader aprioriReader = IndexReader.open(aprioriIndex, false);
IndexReader testReader = testIndex.indexReaderFactory();
assertEquals(aprioriReader.numDocs(), testReader.numDocs());
Propchange: lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,5 @@
-/lucene/java/branches/lucene_3_0/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:900212,908479,909401
-/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:821888,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_2_4/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:748824
+/lucene/java/branches/lucene_2_9/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:817269-818599
+/lucene/java/branches/lucene_2_9_back_compat_tests/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:818601-821336
+/lucene/java/branches/lucene_3_0/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:889463,889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/contrib/instantiated/src/test/org/apache/lucene/store/instantiated/TestIndicesEquals.java:821888,881213,881315,881466,881819,882374,882672,882807,882888,882977,883074-883075,883554,884870,886257,886911,887347,887532,887602,888247,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Modified: lucene/java/branches/lucene_2_9/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java Sat Feb 13 14:09:17 2010
@@ -66,6 +66,12 @@
this(matchVersion, name);
stopSet = StopFilter.makeStopSet(stopWords);
}
+
+ /** Builds the named analyzer with the given stop words. */
+ public SnowballAnalyzer(Version matchVersion, String name, Set stopWords) {
+ this(matchVersion, name);
+ this.stopSet = CharArraySet.unmodifiableSet(new CharArraySet(stopWords, false));
+ }
/** Constructs a {@link StandardTokenizer} filtered by a {@link
StandardFilter}, a {@link LowerCaseFilter}, a {@link StopFilter},
Modified: lucene/java/branches/lucene_2_9/contrib/snowball/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/contrib/snowball/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/contrib/snowball/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java (original)
+++ lucene/java/branches/lucene_2_9/contrib/snowball/src/test/org/apache/lucene/analysis/snowball/TestSnowball.java Sat Feb 13 14:09:17 2010
@@ -25,12 +25,14 @@
import org.apache.lucene.analysis.WhitespaceTokenizer;
import org.apache.lucene.index.Payload;
import org.apache.lucene.analysis.TokenStream;
+import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+import org.apache.lucene.util.Version;
public class TestSnowball extends BaseTokenStreamTestCase {
@@ -39,6 +41,13 @@
assertAnalyzesTo(a, "he abhorred accents",
new String[]{"he", "abhor", "accent"});
}
+
+ public void testStopwords() throws Exception {
+ Analyzer a = new SnowballAnalyzer(Version.LUCENE_29, "English",
+ StandardAnalyzer.STOP_WORDS_SET);
+ assertAnalyzesTo(a, "the quick brown fox jumped",
+ new String[]{"quick", "brown", "fox", "jump"});
+ }
public void testReusableTokenStream() throws Exception {
Analyzer a = new SnowballAnalyzer("English");
Propchange: lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/analysis/Tokenizer.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/analysis/Tokenizer.java:900212,908479,909401
+/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/analysis/Tokenizer.java:889688,891211,900212,908479,909401
/lucene/java/trunk/src/java/org/apache/lucene/analysis/Tokenizer.java:821888,899627,900196,908477,908975,909398
Modified: lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AllTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AllTermDocs.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AllTermDocs.java (original)
+++ lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/AllTermDocs.java Sat Feb 13 14:09:17 2010
@@ -18,69 +18,19 @@
package org.apache.lucene.index;
import org.apache.lucene.util.BitVector;
-import java.io.IOException;
-class AllTermDocs implements TermDocs {
+class AllTermDocs extends AbstractAllTermDocs {
+
protected BitVector deletedDocs;
- protected int maxDoc;
- protected int doc = -1;
protected AllTermDocs(SegmentReader parent) {
+ super(parent.maxDoc());
synchronized (parent) {
this.deletedDocs = parent.deletedDocs;
}
- this.maxDoc = parent.maxDoc();
- }
-
- public void seek(Term term) throws IOException {
- if (term==null) {
- doc = -1;
- } else {
- throw new UnsupportedOperationException();
- }
- }
-
- public void seek(TermEnum termEnum) throws IOException {
- throw new UnsupportedOperationException();
- }
-
- public int doc() {
- return doc;
- }
-
- public int freq() {
- return 1;
- }
-
- public boolean next() throws IOException {
- return skipTo(doc+1);
- }
-
- public int read(int[] docs, int[] freqs) throws IOException {
- final int length = docs.length;
- int i = 0;
- while (i < length && doc < maxDoc) {
- if (deletedDocs == null || !deletedDocs.get(doc)) {
- docs[i] = doc;
- freqs[i] = 1;
- ++i;
- }
- doc++;
- }
- return i;
- }
-
- public boolean skipTo(int target) throws IOException {
- doc = target;
- while (doc < maxDoc) {
- if (deletedDocs == null || !deletedDocs.get(doc)) {
- return true;
- }
- doc++;
- }
- return false;
}
- public void close() throws IOException {
+ public boolean isDeleted(int doc) {
+ return deletedDocs != null && deletedDocs.get(doc);
}
}
Modified: lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/SegmentReader.java?rev=909826&r1=909825&r2=909826&view=diff
==============================================================================
--- lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/index/SegmentReader.java Sat Feb 13 14:09:17 2010
@@ -993,7 +993,7 @@
}
/**
- * @see IndexReader#getFieldNames(IndexReader.FieldOption fldOption)
+ * @see IndexReader#getFieldNames(org.apache.lucene.index.IndexReader.FieldOption)
*/
public Collection getFieldNames(IndexReader.FieldOption fieldOption) {
ensureOpen();
Propchange: lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:899639,900212,908479,909401
-/lucene/java/trunk/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/src/java/org/apache/lucene/util/AttributeSource.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,3 +1,3 @@
/lucene/java/branches/lucene_2_4/src/java/org/apache/lucene/util/AttributeSource.java:748824
-/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/util/AttributeSource.java:886275,899639,900212,908479,909401
+/lucene/java/branches/lucene_3_0/src/java/org/apache/lucene/util/AttributeSource.java:886275,889688,891211,899639,900212,908479,909401
/lucene/java/trunk/src/java/org/apache/lucene/util/AttributeSource.java:821888,824125,826029,826385,830871,833095,833297,833886,881819,882672,883554,884870,886257,887347,887532,891189,891363,894348,897672,908975
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,3 +1,3 @@
/lucene/java/branches/lucene_2_4/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java:748824
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java:886275,899639,900212,908479,909401
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java:886275,889688,891211,899639,900212,908479,909401
/lucene/java/trunk/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java:818920,821888,824125,826029,826385,830871,833095,833297,833886,881819,882672,883554,884870,887347,887532,891189,891363,897672,908975
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:899639,900212,908479,909401
-/lucene/java/trunk/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestDateTools.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestDateTools.java:899639,900212,908479,909401
-/lucene/java/trunk/src/test/org/apache/lucene/document/TestDateTools.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestDateTools.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/test/org/apache/lucene/document/TestDateTools.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/document/TestNumberTools.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestNumberTools.java:899639,900212,908479,909401
-/lucene/java/trunk/src/test/org/apache/lucene/document/TestNumberTools.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/document/TestNumberTools.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/test/org/apache/lucene/document/TestNumberTools.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:899639,900212,908479,909401
-/lucene/java/trunk/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398
Propchange: lucene/java/branches/lucene_2_9/src/test/org/apache/lucene/util/TestAttributeSource.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Feb 13 14:09:17 2010
@@ -1,2 +1,2 @@
-/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/util/TestAttributeSource.java:899639,900212,908479,909401
-/lucene/java/trunk/src/test/org/apache/lucene/util/TestAttributeSource.java:821888,881819,886257,887347,887532,891189,891363,897672,899627,900196,908477,908975,909398
+/lucene/java/branches/lucene_3_0/src/test/org/apache/lucene/util/TestAttributeSource.java:889688,891211,899639,900212,908479,909401
+/lucene/java/trunk/src/test/org/apache/lucene/util/TestAttributeSource.java:821888,881819,886257,887347,887532,889431-889432,891189,891209,891363,897672,899627,900196,908477,908975,909398