You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rj...@apache.org on 2015/03/31 07:22:50 UTC
svn commit: r1670257 [13/39] - in /lucene/dev/branches/lucene6271: ./
dev-tools/ dev-tools/idea/.idea/libraries/ dev-tools/scripts/ lucene/
lucene/analysis/ lucene/analysis/common/
lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneou...
Modified: lucene/dev/branches/lucene6271/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java (original)
+++ lucene/dev/branches/lucene6271/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java Tue Mar 31 05:22:40 2015
@@ -19,6 +19,7 @@ package org.apache.lucene.index.memory;
import java.io.IOException;
import java.util.Collection;
+import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
@@ -443,7 +444,7 @@ public class MemoryIndex {
fieldInfo = new FieldInfo(fieldName, fields.size(), false, false, this.storePayloads,
this.storeOffsets
? IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS : IndexOptions.DOCS_AND_FREQS_AND_POSITIONS,
- DocValuesType.NONE, -1, null);
+ DocValuesType.NONE, -1, Collections.emptyMap());
sliceArray = new SliceByteStartArray(BytesRefHash.DEFAULT_CAPACITY);
terms = new BytesRefHash(byteBlockPool, BytesRefHash.DEFAULT_CAPACITY, sliceArray);
}
Modified: lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/IndexSplitter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/IndexSplitter.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/IndexSplitter.java (original)
+++ lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/IndexSplitter.java Tue Mar 31 05:22:40 2015
@@ -29,7 +29,6 @@ import java.util.List;
import java.util.Locale;
import org.apache.lucene.store.FSDirectory;
-import org.apache.lucene.util.StringHelper;
/**
* Command-line tool that enables listing segments in an
@@ -137,7 +136,7 @@ public class IndexSplitter {
SegmentCommitInfo infoPerCommit = getInfo(n);
SegmentInfo info = infoPerCommit.info;
// Same info just changing the dir:
- SegmentInfo newInfo = new SegmentInfo(destFSDir, info.getVersion(), info.name, info.getDocCount(),
+ SegmentInfo newInfo = new SegmentInfo(destFSDir, info.getVersion(), info.name, info.maxDoc(),
info.getUseCompoundFile(), info.getCodec(), info.getDiagnostics(), info.getId(), new HashMap<>());
destInfos.add(new SegmentCommitInfo(newInfo, infoPerCommit.getDelCount(),
infoPerCommit.getDelGen(), infoPerCommit.getFieldInfosGen(),
Modified: lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java (original)
+++ lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/index/PKIndexSplitter.java Tue Mar 31 05:22:40 2015
@@ -24,7 +24,8 @@ import org.apache.lucene.index.IndexWrit
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.Filter;
-import org.apache.lucene.search.TermRangeFilter;
+import org.apache.lucene.search.QueryWrapperFilter;
+import org.apache.lucene.search.TermRangeQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BitSetIterator;
import org.apache.lucene.util.Bits;
@@ -72,13 +73,13 @@ public class PKIndexSplitter {
*/
public PKIndexSplitter(Directory input, Directory dir1, Directory dir2, Term midTerm) {
this(input, dir1, dir2,
- new TermRangeFilter(midTerm.field(), null, midTerm.bytes(), true, false));
+ new QueryWrapperFilter(new TermRangeQuery(midTerm.field(), null, midTerm.bytes(), true, false)));
}
public PKIndexSplitter(Directory input, Directory dir1,
Directory dir2, Term midTerm, IndexWriterConfig config1, IndexWriterConfig config2) {
this(input, dir1, dir2,
- new TermRangeFilter(midTerm.field(), null, midTerm.bytes(), true, false), config1, config2);
+ new QueryWrapperFilter(new TermRangeQuery(midTerm.field(), null, midTerm.bytes(), true, false)), config1, config2);
}
public void split() throws IOException {
Modified: lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java (original)
+++ lucene/dev/branches/lucene6271/lucene/misc/src/java/org/apache/lucene/uninverting/UninvertingReader.java Tue Mar 31 05:22:40 2015
@@ -19,6 +19,7 @@ package org.apache.lucene.uninverting;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Map;
import org.apache.lucene.document.BinaryDocValuesField; // javadocs
@@ -146,14 +147,14 @@ public class UninvertingReader extends F
* can be used normally (e.g. passed to {@link DirectoryReader#openIfChanged(DirectoryReader)})
* and so on.
*/
- public static DirectoryReader wrap(DirectoryReader in, final Map<String,Type> mapping) {
+ public static DirectoryReader wrap(DirectoryReader in, final Map<String,Type> mapping) throws IOException {
return new UninvertingDirectoryReader(in, mapping);
}
static class UninvertingDirectoryReader extends FilterDirectoryReader {
final Map<String,Type> mapping;
- public UninvertingDirectoryReader(DirectoryReader in, final Map<String,Type> mapping) {
+ public UninvertingDirectoryReader(DirectoryReader in, final Map<String,Type> mapping) throws IOException {
super(in, new FilterDirectoryReader.SubReaderWrapper() {
@Override
public LeafReader wrap(LeafReader reader) {
@@ -164,7 +165,7 @@ public class UninvertingReader extends F
}
@Override
- protected DirectoryReader doWrapDirectoryReader(DirectoryReader in) {
+ protected DirectoryReader doWrapDirectoryReader(DirectoryReader in) throws IOException {
return new UninvertingDirectoryReader(in, mapping);
}
}
@@ -215,7 +216,7 @@ public class UninvertingReader extends F
}
}
filteredInfos.add(new FieldInfo(fi.name, fi.number, fi.hasVectors(), fi.omitsNorms(),
- fi.hasPayloads(), fi.getIndexOptions(), type, -1, null));
+ fi.hasPayloads(), fi.getIndexOptions(), type, -1, Collections.emptyMap()));
}
fieldInfos = new FieldInfos(filteredInfos.toArray(new FieldInfo[filteredInfos.size()]));
}
Modified: lucene/dev/branches/lucene6271/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java (original)
+++ lucene/dev/branches/lucene6271/lucene/misc/src/test/org/apache/lucene/index/TestBlockJoinSorter.java Tue Mar 31 05:22:40 2015
@@ -17,9 +17,14 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import static org.apache.lucene.search.DocIdSet.EMPTY;
+
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -32,37 +37,60 @@ import org.apache.lucene.index.IndexWrit
import org.apache.lucene.index.NumericDocValues;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
+import org.apache.lucene.search.BitsFilteredDocIdSet;
import org.apache.lucene.search.BlockJoinComparatorSource;
-import org.apache.lucene.search.CachingWrapperFilter;
import org.apache.lucene.search.DocIdSet;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.Filter;
-import org.apache.lucene.search.FilterCachingPolicy;
import org.apache.lucene.search.QueryWrapperFilter;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BitDocIdSet;
+import org.apache.lucene.util.Bits;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.SparseFixedBitSet;
public class TestBlockJoinSorter extends LuceneTestCase {
- private static class FixedBitSetCachingWrapperFilter extends CachingWrapperFilter {
+ private static class BitSetCachingWrapperFilter extends Filter {
+
+ private final Filter filter;
+ private final Map<Object,BitDocIdSet> cache = Collections.synchronizedMap(new WeakHashMap<Object,BitDocIdSet>());
- public FixedBitSetCachingWrapperFilter(Filter filter) {
- super(filter, FilterCachingPolicy.ALWAYS_CACHE);
+ public BitSetCachingWrapperFilter(Filter filter) {
+ this.filter = filter;
}
@Override
- protected DocIdSet cacheImpl(DocIdSetIterator iterator, LeafReader reader)
- throws IOException {
- final FixedBitSet cached = new FixedBitSet(reader.maxDoc());
- cached.or(iterator);
- return new BitDocIdSet(cached);
+ public DocIdSet getDocIdSet(LeafReaderContext context, final Bits acceptDocs) throws IOException {
+ final LeafReader reader = context.reader();
+ final Object key = reader.getCoreCacheKey();
+
+ BitDocIdSet docIdSet = cache.get(key);
+ if (docIdSet == null) {
+ final DocIdSet uncached = filter.getDocIdSet(context, null);
+ final DocIdSetIterator it = uncached == null ? null : uncached.iterator();
+ if (it != null) {
+ BitDocIdSet.Builder builder = new BitDocIdSet.Builder(context.reader().maxDoc());
+ builder.or(it);
+ docIdSet = builder.build();
+ }
+ if (docIdSet == null) {
+ docIdSet = new BitDocIdSet(new SparseFixedBitSet(context.reader().maxDoc()));
+ }
+ cache.put(key, docIdSet);
+ }
+
+ return docIdSet == EMPTY ? null : BitsFilteredDocIdSet.wrap(docIdSet, acceptDocs);
}
+ @Override
+ public String toString(String field) {
+ return getClass().getName() + "(" + filter.toString(field) + ")";
+ }
}
public void test() throws IOException {
@@ -92,7 +120,7 @@ public class TestBlockJoinSorter extends
writer.close();
final LeafReader reader = getOnlySegmentReader(indexReader);
- final Filter parentsFilter = new FixedBitSetCachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("parent", "true"))));
+ final Filter parentsFilter = new BitSetCachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("parent", "true"))));
final FixedBitSet parentBits = (FixedBitSet) parentsFilter.getDocIdSet(reader.getContext(), null).bits();
final NumericDocValues parentValues = reader.getNumericDocValues("parent_val");
final NumericDocValues childValues = reader.getNumericDocValues("child_val");
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java Tue Mar 31 05:22:40 2015
@@ -30,9 +30,11 @@ import org.apache.lucene.queries.functio
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.ComplexExplanation;
import org.apache.lucene.search.Explanation;
+import org.apache.lucene.search.FilterScorer;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.TwoPhaseIterator;
import org.apache.lucene.search.Weight;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.ToStringUtils;
@@ -274,45 +276,36 @@ public class CustomScoreQuery extends Qu
/**
* A scorer that applies a (callback) function on scores of the subQuery.
*/
- private class CustomScorer extends Scorer {
+ private class CustomScorer extends FilterScorer {
private final float qWeight;
private final Scorer subQueryScorer;
private final Scorer[] valSrcScorers;
private final CustomScoreProvider provider;
private final float[] vScores; // reused in score() to avoid allocating this array for each doc
-
- // TODO : can we use FilterScorer here instead?
+ private int valSrcDocID = -1; // we lazily advance subscorers.
// constructor
private CustomScorer(CustomScoreProvider provider, CustomWeight w, float qWeight,
Scorer subQueryScorer, Scorer[] valSrcScorers) {
- super(w);
+ super(subQueryScorer, w);
this.qWeight = qWeight;
this.subQueryScorer = subQueryScorer;
this.valSrcScorers = valSrcScorers;
this.vScores = new float[valSrcScorers.length];
this.provider = provider;
}
-
+
@Override
- public int nextDoc() throws IOException {
- int doc = subQueryScorer.nextDoc();
- if (doc != NO_MORE_DOCS) {
+ public float score() throws IOException {
+ // lazily advance to current doc.
+ int doc = docID();
+ if (doc > valSrcDocID) {
for (Scorer valSrcScorer : valSrcScorers) {
valSrcScorer.advance(doc);
}
+ valSrcDocID = doc;
}
- return doc;
- }
-
- @Override
- public int docID() {
- return subQueryScorer.docID();
- }
-
- /*(non-Javadoc) @see org.apache.lucene.search.Scorer#score() */
- @Override
- public float score() throws IOException {
+ // TODO: this thing technically takes any Query, so what about when subs don't match?
for (int i = 0; i < valSrcScorers.length; i++) {
vScores[i] = valSrcScorers[i].score();
}
@@ -320,30 +313,9 @@ public class CustomScoreQuery extends Qu
}
@Override
- public int freq() throws IOException {
- return subQueryScorer.freq();
- }
-
- @Override
public Collection<ChildScorer> getChildren() {
return Collections.singleton(new ChildScorer(subQueryScorer, "CUSTOM"));
}
-
- @Override
- public int advance(int target) throws IOException {
- int doc = subQueryScorer.advance(target);
- if (doc != NO_MORE_DOCS) {
- for (Scorer valSrcScorer : valSrcScorers) {
- valSrcScorer.advance(doc);
- }
- }
- return doc;
- }
-
- @Override
- public long cost() {
- return subQueryScorer.cost();
- }
}
@Override
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java Tue Mar 31 05:22:40 2015
@@ -192,13 +192,9 @@ public class TermsQuery extends Query im
@Override
public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if ((obj == null) || (obj.getClass() != this.getClass())) {
+ if (!super.equals(obj)) {
return false;
}
-
TermsQuery that = (TermsQuery) obj;
// first check the fields before even comparing the bytes
if (that.hashCode == hashCode && getBoost() == that.getBoost() && Arrays.equals(termsAndFields, that.termsAndFields)) {
@@ -214,7 +210,7 @@ public class TermsQuery extends Query im
@Override
public int hashCode() {
- return hashCode ^ Float.floatToIntBits(getBoost());
+ return super.hashCode() ^ this.hashCode;
}
@Override
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java Tue Mar 31 05:22:40 2015
@@ -203,14 +203,12 @@ public class FunctionQuery extends Query
public boolean equals(Object o) {
if (!FunctionQuery.class.isInstance(o)) return false;
FunctionQuery other = (FunctionQuery)o;
- return this.getBoost() == other.getBoost()
+ return super.equals(o)
&& this.func.equals(other.func);
}
- /** Returns a hash code value for this object. */
@Override
public int hashCode() {
- return func.hashCode()*31 + Float.floatToIntBits(getBoost());
+ return super.hashCode() ^ func.hashCode();
}
-
}
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/CommonTermsQueryTest.java Tue Mar 31 05:22:40 2015
@@ -49,6 +49,7 @@ import org.apache.lucene.search.TermQuer
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LineFileDocs;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.PriorityQueue;
@@ -126,9 +127,7 @@ public class CommonTermsQueryTest extend
assertEquals("3", r.document(search.scoreDocs[0].doc).get("id"));
}
- r.close();
- w.close();
- dir.close();
+ IOUtils.close(r, w, dir, analyzer);
}
public void testEqualsHashCode() {
@@ -321,9 +320,7 @@ public class CommonTermsQueryTest extend
r.document(search.scoreDocs[0].doc).get("id"),
r.document(search.scoreDocs[1].doc).get("id"))));
}
- r.close();
- w.close();
- dir.close();
+ IOUtils.close(r, w, dir, analyzer);
}
public void testIllegalOccur() {
@@ -395,9 +392,7 @@ public class CommonTermsQueryTest extend
assertEquals("3", r.document(search.scoreDocs[1].doc).get("id"));
assertEquals("0", r.document(search.scoreDocs[2].doc).get("id"));
}
- r.close();
- w.close();
- dir.close();
+ IOUtils.close(r, w, dir, analyzer);
}
public void testRandomIndex() throws IOException {
@@ -496,10 +491,7 @@ public class CommonTermsQueryTest extend
QueryUtils.check(random(), cq, newSearcher(reader2));
reader2.close();
} finally {
- reader.close();
- wrapper.close();
- w.close();
- dir.close();
+ IOUtils.close(reader, wrapper, w, dir, analyzer);
}
}
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java Tue Mar 31 05:22:40 2015
@@ -166,6 +166,15 @@ public class TermsQueryTest extends Luce
assertFalse(right.equals(notEqual));
}
}
+
+ TermsQuery tq1 = new TermsQuery(new Term("thing", "apple"));
+ TermsQuery tq2 = new TermsQuery(new Term("thing", "orange"));
+ assertFalse(tq1.hashCode() == tq2.hashCode());
+
+ // different fields with the same term should have differing hashcodes
+ tq1 = new TermsQuery(new Term("thing1", "apple"));
+ tq2 = new TermsQuery(new Term("thing2", "apple"));
+ assertFalse(tq1.hashCode() == tq2.hashCode());
}
public void testSingleFieldEquals() {
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/FunctionTestSetup.java Tue Mar 31 05:22:40 2015
@@ -84,6 +84,7 @@ public abstract class FunctionTestSetup
public static void afterClassFunctionTestSetup() throws Exception {
dir.close();
dir = null;
+ anlzr.close();
anlzr = null;
}
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java Tue Mar 31 05:22:40 2015
@@ -17,6 +17,7 @@ package org.apache.lucene.queries.functi
* limitations under the License.
*/
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -46,12 +47,15 @@ public class TestLongNormValueSource ext
static Directory dir;
static IndexReader reader;
static IndexSearcher searcher;
+ static Analyzer analyzer;
+
private static Similarity sim = new PreciseDefaultSimilarity();
@BeforeClass
public static void beforeClass() throws Exception {
dir = newDirectory();
- IndexWriterConfig iwConfig = newIndexWriterConfig(new MockAnalyzer(random()));
+ analyzer = new MockAnalyzer(random());
+ IndexWriterConfig iwConfig = newIndexWriterConfig(analyzer);
iwConfig.setMergePolicy(newLogMergePolicy());
iwConfig.setSimilarity(sim);
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwConfig);
@@ -76,6 +80,8 @@ public class TestLongNormValueSource ext
reader = null;
dir.close();
dir = null;
+ analyzer.close();
+ analyzer = null;
}
public void testNorm() throws Exception {
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java Tue Mar 31 05:22:40 2015
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import java.io.IOException;
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.DoubleField;
@@ -92,6 +93,7 @@ import org.junit.BeforeClass;
*/
public class TestValueSources extends LuceneTestCase {
static Directory dir;
+ static Analyzer analyzer;
static IndexReader reader;
static IndexSearcher searcher;
@@ -109,7 +111,8 @@ public class TestValueSources extends Lu
@BeforeClass
public static void beforeClass() throws Exception {
dir = newDirectory();
- IndexWriterConfig iwConfig = newIndexWriterConfig(new MockAnalyzer(random()));
+ analyzer = new MockAnalyzer(random());
+ IndexWriterConfig iwConfig = newIndexWriterConfig(analyzer);
iwConfig.setMergePolicy(newLogMergePolicy());
RandomIndexWriter iw = new RandomIndexWriter(random(), dir, iwConfig);
Document document = new Document();
@@ -169,6 +172,8 @@ public class TestValueSources extends Lu
reader = null;
dir.close();
dir = null;
+ analyzer.close();
+ analyzer = null;
}
public void testConst() throws Exception {
Modified: lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queries/src/test/org/apache/lucene/queries/mlt/TestMoreLikeThis.java Tue Mar 31 05:22:40 2015
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
@@ -87,7 +88,8 @@ public class TestMoreLikeThis extends Lu
Map<String,Float> originalValues = getOriginalValues();
MoreLikeThis mlt = new MoreLikeThis(reader);
- mlt.setAnalyzer(new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
+ mlt.setAnalyzer(analyzer);
mlt.setMinDocFreq(1);
mlt.setMinTermFreq(1);
mlt.setMinWordLen(1);
@@ -116,12 +118,14 @@ public class TestMoreLikeThis extends Lu
+ tq.getTerm().text() + "' got " + tq.getBoost(), totalBoost, tq
.getBoost(), 0.0001);
}
+ analyzer.close();
}
private Map<String,Float> getOriginalValues() throws IOException {
Map<String,Float> originalValues = new HashMap<>();
MoreLikeThis mlt = new MoreLikeThis(reader);
- mlt.setAnalyzer(new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
+ mlt.setAnalyzer(analyzer);
mlt.setMinDocFreq(1);
mlt.setMinTermFreq(1);
mlt.setMinWordLen(1);
@@ -135,24 +139,28 @@ public class TestMoreLikeThis extends Lu
TermQuery tq = (TermQuery) clause.getQuery();
originalValues.put(tq.getTerm().text(), tq.getBoost());
}
+ analyzer.close();
return originalValues;
}
// LUCENE-3326
public void testMultiFields() throws Exception {
MoreLikeThis mlt = new MoreLikeThis(reader);
- mlt.setAnalyzer(new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
+ mlt.setAnalyzer(analyzer);
mlt.setMinDocFreq(1);
mlt.setMinTermFreq(1);
mlt.setMinWordLen(1);
mlt.setFieldNames(new String[] {"text", "foobar"});
mlt.like("foobar", new StringReader("this is a test"));
+ analyzer.close();
}
// LUCENE-5725
public void testMultiValues() throws Exception {
MoreLikeThis mlt = new MoreLikeThis(reader);
- mlt.setAnalyzer(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.KEYWORD, false);
+ mlt.setAnalyzer(analyzer);
mlt.setMinDocFreq(1);
mlt.setMinTermFreq(1);
mlt.setMinWordLen(1);
@@ -167,12 +175,15 @@ public class TestMoreLikeThis extends Lu
Term term = ((TermQuery) clause.getQuery()).getTerm();
assertTrue(Arrays.asList(new Term("text", "lucene"), new Term("text", "apache")).contains(term));
}
+ analyzer.close();
}
// just basic equals/hashcode etc
public void testMoreLikeThisQuery() throws Exception {
- Query query = new MoreLikeThisQuery("this is a test", new String[] { "text" }, new MockAnalyzer(random()), "text");
+ Analyzer analyzer = new MockAnalyzer(random());
+ Query query = new MoreLikeThisQuery("this is a test", new String[] { "text" }, analyzer, "text");
QueryUtils.check(random(), query, searcher);
+ analyzer.close();
}
public void testTopN() throws Exception {
@@ -190,7 +201,8 @@ public class TestMoreLikeThis extends Lu
// setup MLT query
MoreLikeThis mlt = new MoreLikeThis(reader);
- mlt.setAnalyzer(new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false);
+ mlt.setAnalyzer(analyzer);
mlt.setMaxQueryTerms(topN);
mlt.setMinDocFreq(1);
mlt.setMinTermFreq(1);
@@ -221,6 +233,7 @@ public class TestMoreLikeThis extends Lu
// clean up
reader.close();
dir.close();
+ analyzer.close();
}
private String[] generateStrSeq(int from, int size) {
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java Tue Mar 31 05:22:40 2015
@@ -64,7 +64,7 @@ public abstract class QueryParserBase ex
Operator operator = OR_OPERATOR;
boolean lowercaseExpandedTerms = true;
- MultiTermQuery.RewriteMethod multiTermRewriteMethod = MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE;
+ MultiTermQuery.RewriteMethod multiTermRewriteMethod = MultiTermQuery.CONSTANT_SCORE_REWRITE;
boolean allowLeadingWildcard = false;
protected String field;
@@ -272,7 +272,7 @@ public abstract class QueryParserBase ex
}
/**
- * By default QueryParser uses {@link org.apache.lucene.search.MultiTermQuery#CONSTANT_SCORE_FILTER_REWRITE}
+ * By default QueryParser uses {@link org.apache.lucene.search.MultiTermQuery#CONSTANT_SCORE_REWRITE}
* when creating a {@link PrefixQuery}, {@link WildcardQuery} or {@link TermRangeQuery}. This implementation is generally preferable because it
* a) Runs faster b) Does not have the scarcity of terms unduly influence score
* c) avoids any {@link TooManyClauses} exception.
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java Tue Mar 31 05:22:40 2015
@@ -106,7 +106,7 @@ public class ComplexPhraseQueryParser ex
// QueryParser is not guaranteed threadsafe anyway so this temporary
// state change should not
// present an issue
- setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
+ setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
return super.parse(query);
} finally {
setMultiTermRewriteMethod(oldMethod);
@@ -186,7 +186,7 @@ public class ComplexPhraseQueryParser ex
// Must use old-style RangeQuery in order to produce a BooleanQuery
// that can be turned into SpanOr clause
TermRangeQuery rangeQuery = TermRangeQuery.newStringRange(field, part1, part2, startInclusive, endInclusive);
- rangeQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
+ rangeQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
return rangeQuery;
}
return super.newRangeQuery(field, part1, part2, startInclusive, endInclusive);
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/messages/NLS.java Tue Mar 31 05:22:40 2015
@@ -70,7 +70,7 @@ public class NLS {
String str = getLocalizedMessage(key, locale);
if (args.length > 0) {
- str = MessageFormat.format(str, args);
+ str = new MessageFormat(str, Locale.ROOT).format(args);
}
return str;
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/CommonQueryParserConfiguration.java Tue Mar 31 05:22:40 2015
@@ -73,7 +73,7 @@ public interface CommonQueryParserConfig
/**
* By default, it uses
- * {@link MultiTermQuery#CONSTANT_SCORE_FILTER_REWRITE} when creating a
+ * {@link MultiTermQuery#CONSTANT_SCORE_REWRITE} when creating a
* prefix, wildcard and range queries. This implementation is generally
* preferable because it a) Runs faster b) Does not have the scarcity of terms
* unduly influence score c) avoids any {@link TooManyListenersException}
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/StandardQueryParser.java Tue Mar 31 05:22:40 2015
@@ -256,7 +256,7 @@ public class StandardQueryParser extends
/**
* By default, it uses
- * {@link MultiTermQuery#CONSTANT_SCORE_FILTER_REWRITE} when creating a
+ * {@link MultiTermQuery#CONSTANT_SCORE_REWRITE} when creating a
* prefix, wildcard and range queries. This implementation is generally
* preferable because it a) Runs faster b) Does not have the scarcity of terms
* unduly influence score c) avoids any {@link TooManyListenersException}
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/config/StandardQueryConfigHandler.java Tue Mar 31 05:22:40 2015
@@ -208,7 +208,7 @@ public class StandardQueryConfigHandler
set(ConfigurationKeys.FIELD_BOOST_MAP, new LinkedHashMap<String, Float>());
set(ConfigurationKeys.FUZZY_CONFIG, new FuzzyConfig());
set(ConfigurationKeys.LOCALE, Locale.getDefault());
- set(ConfigurationKeys.MULTI_TERM_REWRITE_METHOD, MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
+ set(ConfigurationKeys.MULTI_TERM_REWRITE_METHOD, MultiTermQuery.CONSTANT_SCORE_REWRITE);
set(ConfigurationKeys.FIELD_DATE_RESOLUTION_MAP, new HashMap<CharSequence, DateTools.Resolution>());
}
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/processors/MultiTermRewriteMethodProcessor.java Tue Mar 31 05:22:40 2015
@@ -30,7 +30,7 @@ import org.apache.lucene.search.MultiTer
/**
* This processor instates the default
* {@link org.apache.lucene.search.MultiTermQuery.RewriteMethod},
- * {@link MultiTermQuery#CONSTANT_SCORE_FILTER_REWRITE}, for multi-term
+ * {@link MultiTermQuery#CONSTANT_SCORE_REWRITE}, for multi-term
* query nodes.
*/
public class MultiTermRewriteMethodProcessor extends QueryNodeProcessorImpl {
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java Tue Mar 31 05:22:40 2015
@@ -23,6 +23,7 @@ import org.apache.lucene.search.BooleanC
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.FuzzyQuery;
import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MatchNoDocsQuery;
import org.apache.lucene.search.PrefixQuery;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.QueryBuilder;
@@ -141,14 +142,18 @@ public class SimpleQueryParser extends Q
this.flags = flags;
}
- /** Parses the query text and returns parsed query (or null if empty) */
+ /** Parses the query text and returns parsed query */
public Query parse(String queryText) {
char data[] = queryText.toCharArray();
char buffer[] = new char[data.length];
State state = new State(data, buffer, 0, data.length);
parseSubQuery(state);
- return state.top;
+ if (state.top == null) {
+ return new MatchNoDocsQuery();
+ } else {
+ return state.top;
+ }
}
private void parseSubQuery(State state) {
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/query/RewriteQuery.java Tue Mar 31 05:22:40 2015
@@ -49,7 +49,7 @@ abstract class RewriteQuery<SQ extends S
@Override
public int hashCode() {
- return getClass().hashCode()
+ return super.hashCode()
^ fieldName.hashCode()
^ qf.hashCode()
^ srndQuery.hashCode();
@@ -62,9 +62,10 @@ abstract class RewriteQuery<SQ extends S
if (! getClass().equals(obj.getClass()))
return false;
RewriteQuery other = (RewriteQuery)obj;
- return fieldName.equals(other.fieldName)
- && qf.equals(other.qf)
- && srndQuery.equals(other.srndQuery);
+ return super.equals(obj)
+ && fieldName.equals(other.fieldName)
+ && qf.equals(other.qf)
+ && srndQuery.equals(other.srndQuery);
}
/**
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java Tue Mar 31 05:22:40 2015
@@ -64,8 +64,6 @@ public class CoreParser implements Query
this.analyzer = analyzer;
this.parser = parser;
filterFactory = new FilterBuilderFactory();
- filterFactory.addBuilder("RangeFilter", new RangeFilterBuilder());
- filterFactory.addBuilder("NumericRangeFilter", new NumericRangeFilterBuilder());
queryFactory = new QueryBuilderFactory();
queryFactory.addBuilder("TermQuery", new TermQueryBuilder());
@@ -73,6 +71,7 @@ public class CoreParser implements Query
queryFactory.addBuilder("MatchAllDocsQuery", new MatchAllDocsQueryBuilder());
queryFactory.addBuilder("BooleanQuery", new BooleanQueryBuilder(queryFactory));
queryFactory.addBuilder("NumericRangeQuery", new NumericRangeQueryBuilder());
+ queryFactory.addBuilder("RangeQuery", new RangeQueryBuilder());
queryFactory.addBuilder("DisjunctionMaxQuery", new DisjunctionMaxQueryBuilder(queryFactory));
if (parser != null) {
queryFactory.addBuilder("UserQuery", new UserInputQueryBuilder(parser));
@@ -80,7 +79,7 @@ public class CoreParser implements Query
queryFactory.addBuilder("UserQuery", new UserInputQueryBuilder(defaultField, analyzer));
}
queryFactory.addBuilder("FilteredQuery", new FilteredQueryBuilder(filterFactory, queryFactory));
- queryFactory.addBuilder("ConstantScoreQuery", new ConstantScoreQueryBuilder(filterFactory));
+ queryFactory.addBuilder("ConstantScoreQuery", new ConstantScoreQueryBuilder(queryFactory));
filterFactory.addBuilder("CachedFilter", new CachedFilterBuilder(queryFactory,
filterFactory, maxNumCachedFilters));
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/CachedFilterBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/CachedFilterBuilder.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/CachedFilterBuilder.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/CachedFilterBuilder.java Tue Mar 31 05:22:40 2015
@@ -4,7 +4,7 @@
package org.apache.lucene.queryparser.xml.builders;
import org.apache.lucene.queryparser.xml.*;
-import org.apache.lucene.search.CachingWrapperFilter;
+import org.apache.lucene.search.CachingWrapperQuery;
import org.apache.lucene.search.Filter;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.QueryWrapperFilter;
@@ -48,7 +48,7 @@ public class CachedFilterBuilder impleme
private final QueryBuilderFactory queryFactory;
private final FilterBuilderFactory filterFactory;
- private LRUCache<Object, Filter> filterCache;
+ private LRUCache<Object, Query> filterCache;
private final int cacheSize;
@@ -81,20 +81,20 @@ public class CachedFilterBuilder impleme
f = filterFactory.getFilter(childElement);
cacheKey = f;
}
- Filter cachedFilter = filterCache.get(cacheKey);
+ Query cachedFilter = filterCache.get(cacheKey);
if (cachedFilter != null) {
- return cachedFilter; // cache hit
+ return new QueryWrapperFilter(cachedFilter); // cache hit
}
//cache miss
if (qb != null) {
cachedFilter = new QueryWrapperFilter(q);
} else {
- cachedFilter = new CachingWrapperFilter(f);
+ cachedFilter = new CachingWrapperQuery(f);
}
filterCache.put(cacheKey, cachedFilter);
- return cachedFilter;
+ return new QueryWrapperFilter(cachedFilter);
}
static class LRUCache<K, V> extends java.util.LinkedHashMap<K, V> {
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/ConstantScoreQueryBuilder.java Tue Mar 31 05:22:40 2015
@@ -1,11 +1,11 @@
package org.apache.lucene.queryparser.xml.builders;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.Query;
import org.apache.lucene.queryparser.xml.DOMUtils;
-import org.apache.lucene.queryparser.xml.FilterBuilderFactory;
import org.apache.lucene.queryparser.xml.ParserException;
import org.apache.lucene.queryparser.xml.QueryBuilder;
+import org.apache.lucene.queryparser.xml.QueryBuilderFactory;
+import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.Query;
import org.w3c.dom.Element;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -29,17 +29,17 @@ import org.w3c.dom.Element;
*/
public class ConstantScoreQueryBuilder implements QueryBuilder {
- private final FilterBuilderFactory filterFactory;
+ private final QueryBuilderFactory queryFactory;
- public ConstantScoreQueryBuilder(FilterBuilderFactory filterFactory) {
- this.filterFactory = filterFactory;
+ public ConstantScoreQueryBuilder(QueryBuilderFactory queryFactory) {
+ this.queryFactory = queryFactory;
}
@Override
public Query getQuery(Element e) throws ParserException {
- Element filterElem = DOMUtils.getFirstChildOrFail(e);
+ Element queryElem = DOMUtils.getFirstChildOrFail(e);
- Query q = new ConstantScoreQuery(filterFactory.getFilter(filterElem));
+ Query q = new ConstantScoreQuery(queryFactory.getQuery(queryElem));
q.setBoost(DOMUtils.getAttribute(e, "boost", 1.0f));
return q;
}
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/standard/TestQPHelper.java Tue Mar 31 05:22:40 2015
@@ -321,15 +321,15 @@ public class TestQPHelper extends Lucene
StandardQueryParser qp = new StandardQueryParser(new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false));
Query q = qp.parse("foo*bar", "field");
assertTrue(q instanceof WildcardQuery);
- assertEquals(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
+ assertEquals(MultiTermQuery.CONSTANT_SCORE_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
q = qp.parse("foo*", "field");
assertTrue(q instanceof PrefixQuery);
- assertEquals(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
+ assertEquals(MultiTermQuery.CONSTANT_SCORE_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
q = qp.parse("[a TO z]", "field");
assertTrue(q instanceof TermRangeQuery);
- assertEquals(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
+ assertEquals(MultiTermQuery.CONSTANT_SCORE_REWRITE, ((MultiTermQuery) q).getRewriteMethod());
}
public void testCJK() throws Exception {
@@ -665,12 +665,12 @@ public class TestQPHelper extends Lucene
public void testRange() throws Exception {
assertQueryEquals("[ a TO z]", null, "[a TO z]");
- assertEquals(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE, ((TermRangeQuery)getQuery("[ a TO z]", null)).getRewriteMethod());
+ assertEquals(MultiTermQuery.CONSTANT_SCORE_REWRITE, ((TermRangeQuery)getQuery("[ a TO z]", null)).getRewriteMethod());
StandardQueryParser qp = new StandardQueryParser();
- qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- assertEquals(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE,((TermRangeQuery)qp.parse("[ a TO z]", "field")).getRewriteMethod());
+ qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
+ assertEquals(MultiTermQuery.SCORING_BOOLEAN_REWRITE,((TermRangeQuery)qp.parse("[ a TO z]", "field")).getRewriteMethod());
// test open ranges
assertQueryEquals("[ a TO * ]", null, "[a TO *]");
@@ -1153,12 +1153,12 @@ public class TestQPHelper extends Lucene
assertEquals(q, qp.parse("/[A-Z][123]/", df));
q.setBoost(0.5f);
assertEquals(q, qp.parse("/[A-Z][123]/^0.5", df));
- qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- q.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
+ qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
+ q.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
assertTrue(qp.parse("/[A-Z][123]/^0.5", df) instanceof RegexpQuery);
assertEquals(q, qp.parse("/[A-Z][123]/^0.5", df));
- assertEquals(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE, ((RegexpQuery)qp.parse("/[A-Z][123]/^0.5", df)).getRewriteMethod());
- qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
+ assertEquals(MultiTermQuery.SCORING_BOOLEAN_REWRITE, ((RegexpQuery)qp.parse("/[A-Z][123]/^0.5", df)).getRewriteMethod());
+ qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_REWRITE);
Query escaped = new RegexpQuery(new Term("field", "[a-z]\\/[123]"));
assertEquals(escaped, qp.parse("/[a-z]\\/[123]/", df));
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/simple/TestSimpleQueryParser.java Tue Mar 31 05:22:40 2015
@@ -29,6 +29,7 @@ import org.apache.lucene.search.BooleanC
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.FuzzyQuery;
import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MatchNoDocsQuery;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.PrefixQuery;
import org.apache.lucene.search.Query;
@@ -273,17 +274,19 @@ public class TestSimpleQueryParser exten
}
public void testGarbageEmpty() throws Exception {
- assertNull(parse(""));
- assertNull(parse(" "));
- assertNull(parse(" "));
- assertNull(parse("\\ "));
- assertNull(parse("\\ \\ "));
- assertNull(parse("\"\""));
- assertNull(parse("\" \""));
- assertNull(parse("\" \"|\" \""));
- assertNull(parse("(\" \"|\" \")"));
- assertNull(parse("\" \" \" \""));
- assertNull(parse("(\" \" \" \")"));
+ MatchNoDocsQuery expected = new MatchNoDocsQuery();
+
+ assertEquals(expected, parse(""));
+ assertEquals(expected, parse(" "));
+ assertEquals(expected, parse(" "));
+ assertEquals(expected, parse("\\ "));
+ assertEquals(expected, parse("\\ \\ "));
+ assertEquals(expected, parse("\"\""));
+ assertEquals(expected, parse("\" \""));
+ assertEquals(expected, parse("\" \"|\" \""));
+ assertEquals(expected, parse("(\" \"|\" \")"));
+ assertEquals(expected, parse("\" \" \" \""));
+ assertEquals(expected, parse("(\" \" \" \")"));
}
public void testGarbageAND() throws Exception {
@@ -643,4 +646,4 @@ public class TestSimpleQueryParser exten
parseKeyword(sb.toString(), TestUtil.nextInt(random(), 0, 1024)); // no exception
}
}
-}
\ No newline at end of file
+}
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java Tue Mar 31 05:22:40 2015
@@ -571,12 +571,12 @@ public abstract class QueryParserTestBas
assertQueryEquals("[ a TO z}", null, "[a TO z}");
assertQueryEquals("{ a TO z]", null, "{a TO z]");
- assertEquals(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE, ((TermRangeQuery)getQuery("[ a TO z]")).getRewriteMethod());
+ assertEquals(MultiTermQuery.CONSTANT_SCORE_REWRITE, ((TermRangeQuery)getQuery("[ a TO z]")).getRewriteMethod());
CommonQueryParserConfiguration qp = getParserConfig( new MockAnalyzer(random(), MockTokenizer.SIMPLE, true));
- qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- assertEquals(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE,((TermRangeQuery)getQuery("[ a TO z]", qp)).getRewriteMethod());
+ qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
+ assertEquals(MultiTermQuery.SCORING_BOOLEAN_REWRITE,((TermRangeQuery)getQuery("[ a TO z]", qp)).getRewriteMethod());
// test open ranges
assertQueryEquals("[ a TO * ]", null, "[a TO *]");
@@ -982,12 +982,12 @@ public abstract class QueryParserTestBas
assertEquals(q, getQuery("/[A-Z][123]/",qp));
q.setBoost(0.5f);
assertEquals(q, getQuery("/[A-Z][123]/^0.5",qp));
- qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
- q.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
+ qp.setMultiTermRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
+ q.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_REWRITE);
assertTrue(getQuery("/[A-Z][123]/^0.5",qp) instanceof RegexpQuery);
- assertEquals(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE, ((RegexpQuery)getQuery("/[A-Z][123]/^0.5",qp)).getRewriteMethod());
+ assertEquals(MultiTermQuery.SCORING_BOOLEAN_REWRITE, ((RegexpQuery)getQuery("/[A-Z][123]/^0.5",qp)).getRewriteMethod());
assertEquals(q, getQuery("/[A-Z][123]/^0.5",qp));
- qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_FILTER_REWRITE);
+ qp.setMultiTermRewriteMethod(MultiTermQuery.CONSTANT_SCORE_REWRITE);
Query escaped = new RegexpQuery(new Term("field", "[a-z]\\/[123]"));
assertEquals(escaped, getQuery("/[a-z]\\/[123]/",qp));
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ConstantScoreQuery.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ConstantScoreQuery.xml?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ConstantScoreQuery.xml (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/ConstantScoreQuery.xml Tue Mar 31 05:22:40 2015
@@ -16,5 +16,5 @@
limitations under the License.
-->
<ConstantScoreQuery>
- <RangeFilter fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
+ <RangeQuery fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
</ConstantScoreQuery>
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/MatchAllDocsQuery.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/MatchAllDocsQuery.xml?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/MatchAllDocsQuery.xml (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/MatchAllDocsQuery.xml Tue Mar 31 05:22:40 2015
@@ -15,13 +15,11 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<FilteredQuery>
- <Query>
+<BooleanQuery>
+ <Clause occurs="must">
<MatchAllDocsQuery/>
- </Query>
-
- <Filter>
- <RangeFilter fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
- </Filter>
-
-</FilteredQuery>
+ </Clause>
+ <Clause occurs="filter">
+ <RangeQuery fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
+ </Clause>
+</BooleanQuery>
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestParser.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestParser.java (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/TestParser.java Tue Mar 31 05:22:40 2015
@@ -121,9 +121,9 @@ public class TestParser extends LuceneTe
assertEquals(1, ndq.getDisjuncts().size());
}
- public void testRangeFilterQueryXML() throws ParserException, IOException {
- Query q = parse("RangeFilterQuery.xml");
- dumpResults("RangeFilter", q, 5);
+ public void testRangeQueryXML() throws ParserException, IOException {
+ Query q = parse("RangeQuery.xml");
+ dumpResults("RangeQuery", q, 5);
}
public void testUserQueryXML() throws ParserException, IOException {
@@ -194,11 +194,6 @@ public class TestParser extends LuceneTe
assertEquals("DuplicateFilterQuery should produce 1 result ", 1, h);
}
- public void testNumericRangeFilterQueryXML() throws ParserException, IOException {
- Query q = parse("NumericRangeFilterQuery.xml");
- dumpResults("NumericRangeFilter", q, 5);
- }
-
public void testNumericRangeQueryQueryXML() throws ParserException, IOException {
Query q = parse("NumericRangeQueryQuery.xml");
dumpResults("NumericRangeQuery", q, 5);
Modified: lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/UserInputQuery.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/UserInputQuery.xml?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/UserInputQuery.xml (original)
+++ lucene/dev/branches/lucene6271/lucene/queryparser/src/test/org/apache/lucene/queryparser/xml/UserInputQuery.xml Tue Mar 31 05:22:40 2015
@@ -15,12 +15,11 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<FilteredQuery>
- <Query>
+<BooleanQuery>
+ <Clause occurs="must">
<UserQuery>"Bank of England"</UserQuery>
- </Query>
- <Filter>
- <RangeFilter fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
- </Filter>
-
-</FilteredQuery>
+ </Clause>
+ <Clause occurs="filter">
+ <RangeQuery fieldName="date" lowerTerm="19870409" upperTerm="19870412"/>
+ </Clause>
+</BooleanQuery>
Modified: lucene/dev/branches/lucene6271/lucene/replicator/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/replicator/build.xml?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/replicator/build.xml (original)
+++ lucene/dev/branches/lucene6271/lucene/replicator/build.xml Tue Mar 31 05:22:40 2015
@@ -21,6 +21,9 @@
Files replication utility
</description>
+ <!-- TODO: go fix this in jetty, its stupid -->
+ <property name="tests.policy" location="../tools/junit4/solr-tests.policy"/>
+
<import file="../module-build.xml"/>
<path id="classpath">
Modified: lucene/dev/branches/lucene6271/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java (original)
+++ lucene/dev/branches/lucene6271/lucene/replicator/src/test/org/apache/lucene/replicator/http/HttpReplicatorTest.java Tue Mar 31 05:22:40 2015
@@ -48,10 +48,6 @@ import org.junit.rules.TestRule;
import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
public class HttpReplicatorTest extends ReplicatorTestCase {
- @Rule
- public TestRule testRules =
- RuleChain.outerRule(new SystemPropertiesRestoreRule());
-
private Path clientWorkDir;
private Replicator serverReplicator;
private IndexWriter writer;
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java Tue Mar 31 05:22:40 2015
@@ -132,8 +132,8 @@ public final class VersionBlockTreeTerms
BytesRef minTerm = readBytesRef(in);
BytesRef maxTerm = readBytesRef(in);
- if (docCount < 0 || docCount > state.segmentInfo.getDocCount()) { // #docs with field must be <= #docs
- throw new CorruptIndexException("invalid docCount: " + docCount + " maxDoc: " + state.segmentInfo.getDocCount(), in);
+ if (docCount < 0 || docCount > state.segmentInfo.maxDoc()) { // #docs with field must be <= #docs
+ throw new CorruptIndexException("invalid docCount: " + docCount + " maxDoc: " + state.segmentInfo.maxDoc(), in);
}
if (sumDocFreq < docCount) { // #postings must be >= #docs with field
throw new CorruptIndexException("invalid sumDocFreq: " + sumDocFreq + " docCount: " + docCount, in);
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsWriter.java Tue Mar 31 05:22:40 2015
@@ -178,7 +178,7 @@ public final class VersionBlockTreeTerms
{
BlockTreeTermsWriter.validateSettings(minItemsInBlock, maxItemsInBlock);
- maxDoc = state.segmentInfo.getDocCount();
+ maxDoc = state.segmentInfo.maxDoc();
final String termsFileName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, TERMS_EXTENSION);
out = state.directory.createOutput(termsFileName, state.context);
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java Tue Mar 31 05:22:40 2015
@@ -258,7 +258,7 @@ public class TermAutomatonQuery extends
// NOTE: not quite correct, because if terms were added in different
// order in each query but the language is the same, we return false:
- return (this.getBoost() == other.getBoost())
+ return super.equals(o)
&& this.termToID.equals(other.termToID) &&
Operations.sameLanguage(det, other.det);
}
@@ -269,7 +269,7 @@ public class TermAutomatonQuery extends
if (det == null) {
throw new IllegalStateException("please call finish first");
}
- return Float.floatToIntBits(getBoost()) ^ termToID.hashCode() + det.toDot().hashCode();
+ return super.hashCode() ^ termToID.hashCode() + det.toDot().hashCode();
}
/** Returns the dot (graphviz) representation of this automaton.
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java Tue Mar 31 05:22:40 2015
@@ -30,6 +30,7 @@ import org.apache.lucene.util.RamUsageEs
import org.apache.lucene.util.automaton.Automaton;
import org.apache.lucene.util.automaton.RunAutomaton;
+// TODO: add two-phase and needsScores support. maybe use conjunctionDISI internally?
class TermAutomatonScorer extends Scorer {
private final EnumAndScorer[] subs;
private final EnumAndScorer[] subsOnDoc;
@@ -148,6 +149,12 @@ class TermAutomatonScorer extends Scorer
@Override
public int advance(int target) throws IOException {
+ if (docID == -1) {
+ popCurrentDoc();
+ if (docID >= target) {
+ return doNext();
+ }
+ }
for(int i=0;i<numSubsOnDoc;i++) {
EnumAndScorer sub = subsOnDoc[i];
if (sub.posEnum.advance(target) != NO_MORE_DOCS) {
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/DuplicateFilterTest.java Tue Mar 31 05:22:40 2015
@@ -20,6 +20,7 @@ package org.apache.lucene.sandbox.querie
import java.io.IOException;
import java.util.HashSet;
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -31,6 +32,7 @@ import org.apache.lucene.search.ScoreDoc
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
@@ -40,12 +42,14 @@ public class DuplicateFilterTest extends
private IndexReader reader;
TermQuery tq = new TermQuery(new Term("text", "lucene"));
private IndexSearcher searcher;
+ Analyzer analyzer;
@Override
public void setUp() throws Exception {
super.setUp();
directory = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), directory, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
+ analyzer = new MockAnalyzer(random());
+ RandomIndexWriter writer = new RandomIndexWriter(random(), directory, newIndexWriterConfig(analyzer).setMergePolicy(newLogMergePolicy()));
//Add series of docs with filterable fields : url, text and dates flags
addDoc(writer, "http://lucene.apache.org", "lucene 1.4.3 available", "20040101");
@@ -69,8 +73,7 @@ public class DuplicateFilterTest extends
@Override
public void tearDown() throws Exception {
- reader.close();
- directory.close();
+ IOUtils.close(reader, directory, analyzer);
super.tearDown();
}
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/FuzzyLikeThisQueryTest.java Tue Mar 31 05:22:40 2015
@@ -30,6 +30,7 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import java.io.IOException;
@@ -47,7 +48,7 @@ public class FuzzyLikeThisQueryTest exte
analyzer = new MockAnalyzer(random());
directory = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), directory, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
+ RandomIndexWriter writer = new RandomIndexWriter(random(), directory, newIndexWriterConfig(analyzer).setMergePolicy(newLogMergePolicy()));
//Add series of docs with misspelt names
addDoc(writer, "jonathon smythe", "1");
@@ -63,8 +64,7 @@ public class FuzzyLikeThisQueryTest exte
@Override
public void tearDown() throws Exception {
- reader.close();
- directory.close();
+ IOUtils.close(reader, directory, analyzer);
super.tearDown();
}
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java Tue Mar 31 05:22:40 2015
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
@@ -34,6 +35,7 @@ import org.apache.lucene.search.MultiTer
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
/**
@@ -90,7 +92,8 @@ public class TestSlowFuzzyQuery2 extends
int terms = (int) Math.pow(2, bits);
Directory dir = newDirectory();
- RandomIndexWriter writer = new RandomIndexWriter(random(), dir, newIndexWriterConfig(new MockAnalyzer(random(), MockTokenizer.KEYWORD, false)).setMergePolicy(newLogMergePolicy()));
+ Analyzer analyzer = new MockAnalyzer(random(), MockTokenizer.KEYWORD, false);
+ RandomIndexWriter writer = new RandomIndexWriter(random(), dir, newIndexWriterConfig(analyzer).setMergePolicy(newLogMergePolicy()));
Document doc = new Document();
Field field = newTextField("field", "", Field.Store.NO);
@@ -129,8 +132,7 @@ public class TestSlowFuzzyQuery2 extends
assertEquals(Float.parseFloat(scoreDoc[1]), docs.scoreDocs[i].score, epsilon);
}
}
- r.close();
- dir.close();
+ IOUtils.close(r, dir, analyzer);
}
/* map bits to unicode codepoints */
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/regex/TestSpanRegexQuery.java Tue Mar 31 05:22:40 2015
@@ -18,6 +18,7 @@ package org.apache.lucene.sandbox.querie
*/
+import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -30,6 +31,7 @@ import org.apache.lucene.search.spans.Sp
import org.apache.lucene.search.spans.SpanMultiTermQueryWrapper;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
public class TestSpanRegexQuery extends LuceneTestCase {
@@ -53,7 +55,8 @@ public class TestSpanRegexQuery extends
public void testSpanRegex() throws Exception {
Directory directory = newDirectory();
- IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(new MockAnalyzer(random())));
+ Analyzer analyzer = new MockAnalyzer(random());
+ IndexWriter writer = new IndexWriter(directory, newIndexWriterConfig(analyzer));
Document doc = new Document();
// doc.add(newField("field", "the quick brown fox jumps over the lazy dog",
// Field.Store.NO, Field.Index.ANALYZED));
@@ -75,7 +78,6 @@ public class TestSpanRegexQuery extends
// true);
int numHits = searcher.search(sfq, 1000).totalHits;
assertEquals(1, numHits);
- reader.close();
- directory.close();
+ IOUtils.close(reader, directory, analyzer);
}
}
Modified: lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java (original)
+++ lucene/dev/branches/lucene6271/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java Tue Mar 31 05:22:40 2015
@@ -48,6 +48,7 @@ import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.BitDocIdSet;
import org.apache.lucene.util.FixedBitSet;
+import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
import org.apache.lucene.util.automaton.Automata;
@@ -578,6 +579,9 @@ public class TestTermAutomatonQuery exte
Query q1 = q;
Query q2 = bq;
if (random().nextInt(5) == 1) {
+ if (VERBOSE) {
+ System.out.println(" use random filter");
+ }
RandomFilter filter = new RandomFilter(random().nextLong(), random().nextFloat());
q1 = new FilteredQuery(q1, filter);
q2 = new FilteredQuery(q2, filter);
@@ -607,9 +611,7 @@ public class TestTermAutomatonQuery exte
}
}
- w.close();
- r.close();
- dir.close();
+ IOUtils.close(w, r, dir, analyzer);
}
private Set<String> toDocIDs(IndexSearcher s, TopDocs hits) throws IOException {
Modified: lucene/dev/branches/lucene6271/lucene/site/changes/changes2html.pl
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6271/lucene/site/changes/changes2html.pl?rev=1670257&r1=1670256&r2=1670257&view=diff
==============================================================================
--- lucene/dev/branches/lucene6271/lucene/site/changes/changes2html.pl (original)
+++ lucene/dev/branches/lucene6271/lucene/site/changes/changes2html.pl Tue Mar 31 05:22:40 2015
@@ -804,7 +804,9 @@ sub get_release_date {
# Handle '1.2 RC6', which should be '1.2 final'
$release = '1.2 final' if ($release eq '1.2 RC6');
- $release =~ s/\.0\.0/\.0/;
+ if (not exists($release_dates{$release})) {
+ $release =~ s/\.0\.0/\.0/;
+ }
$reldate = ( exists($release_dates{$release})
? $release_dates{$release}