You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2011/12/04 20:18:20 UTC
svn commit: r1210184 [3/3] - in /lucene/dev/branches/lucene3606: ./ lucene/
lucene/contrib/memory/src/java/org/apache/lucene/index/memory/
lucene/contrib/memory/src/test/org/apache/lucene/index/memory/
lucene/contrib/misc/src/java/org/apache/lucene/mis...
Modified: lucene/dev/branches/lucene3606/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java (original)
+++ lucene/dev/branches/lucene3606/modules/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java Sun Dec 4 19:18:17 2011
@@ -57,6 +57,7 @@ import org.apache.lucene.search.FieldCac
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util._TestUtil;
/**
* Test very simply that perf tasks - simple algorithms - are doing what they should.
@@ -493,7 +494,7 @@ public class TestPerfTasksLogic extends
TermsEnum termsEnum = terms.iterator(null);
DocsEnum docs = null;
while(termsEnum.next() != null) {
- docs = termsEnum.docs(MultiFields.getLiveDocs(reader), docs);
+ docs = _TestUtil.docs(random, termsEnum, MultiFields.getLiveDocs(reader), docs, true);
while(docs.nextDoc() != docs.NO_MORE_DOCS) {
totalTokenCount2 += docs.freq();
}
Modified: lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/search/sampling/TakmiSampleFixer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/search/sampling/TakmiSampleFixer.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/search/sampling/TakmiSampleFixer.java (original)
+++ lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/search/sampling/TakmiSampleFixer.java Sun Dec 4 19:18:17 2011
@@ -106,8 +106,10 @@ class TakmiSampleFixer implements Sample
Term drillDownTerm = DrillDown.term(searchParams, catPath);
// TODO (Facet): avoid Multi*?
Bits liveDocs = MultiFields.getLiveDocs(indexReader);
- int updatedCount = countIntersection(MultiFields.getTermDocsEnum(indexReader, liveDocs, drillDownTerm.field(), drillDownTerm.bytes()),
- docIds.iterator());
+ int updatedCount = countIntersection(MultiFields.getTermDocsEnum(indexReader, liveDocs,
+ drillDownTerm.field(), drillDownTerm.bytes(),
+ false),
+ docIds.iterator());
fresNode.setValue(updatedCount);
}
Modified: lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java (original)
+++ lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyReader.java Sun Dec 4 19:18:17 2011
@@ -191,7 +191,7 @@ public class DirectoryTaxonomyReader imp
indexReaderLock.readLock().lock();
// TODO (Facet): avoid Multi*?
Bits liveDocs = MultiFields.getLiveDocs(indexReader);
- DocsEnum docs = MultiFields.getTermDocsEnum(indexReader, liveDocs, Consts.FULL, new BytesRef(path));
+ DocsEnum docs = MultiFields.getTermDocsEnum(indexReader, liveDocs, Consts.FULL, new BytesRef(path), false);
if (docs != null && docs.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
ret = docs.docID();
}
Modified: lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java (original)
+++ lucene/dev/branches/lucene3606/modules/facet/src/java/org/apache/lucene/facet/taxonomy/directory/DirectoryTaxonomyWriter.java Sun Dec 4 19:18:17 2011
@@ -405,7 +405,8 @@ public class DirectoryTaxonomyWriter imp
// TODO (Facet): avoid Multi*?
Bits liveDocs = MultiFields.getLiveDocs(reader);
DocsEnum docs = MultiFields.getTermDocsEnum(reader, liveDocs, Consts.FULL,
- new BytesRef(categoryPath.toString(delimiter)));
+ new BytesRef(categoryPath.toString(delimiter)),
+ false);
if (docs == null || docs.nextDoc() == DocIdSetIterator.NO_MORE_DOCS) {
return -1; // category does not exist in taxonomy
}
@@ -441,7 +442,8 @@ public class DirectoryTaxonomyWriter imp
}
Bits liveDocs = MultiFields.getLiveDocs(reader);
DocsEnum docs = MultiFields.getTermDocsEnum(reader, liveDocs, Consts.FULL,
- new BytesRef(categoryPath.toString(delimiter, prefixLen)));
+ new BytesRef(categoryPath.toString(delimiter, prefixLen)),
+ false);
if (docs == null || docs.nextDoc() == DocIdSetIterator.NO_MORE_DOCS) {
return -1; // category does not exist in taxonomy
}
@@ -788,7 +790,7 @@ public class DirectoryTaxonomyWriter imp
// hence documents), there are no deletions in the index. Therefore, it
// is sufficient to call next(), and then doc(), exactly once with no
// 'validation' checks.
- docsEnum = termsEnum.docs(liveDocs, docsEnum);
+ docsEnum = termsEnum.docs(liveDocs, docsEnum, false);
docsEnum.nextDoc();
cp.clear();
// TODO (Facet): avoid String creation/use bytes?
@@ -925,7 +927,7 @@ public class DirectoryTaxonomyWriter imp
// like Lucene's merge works, we hope there are few seeks.
// TODO (Facet): is there a quicker way? E.g., not specifying the
// next term by name every time?
- otherdocsEnum[i] = othertes[i].docs(MultiFields.getLiveDocs(otherreaders[i]), otherdocsEnum[i]);
+ otherdocsEnum[i] = othertes[i].docs(MultiFields.getLiveDocs(otherreaders[i]), otherdocsEnum[i], false);
otherdocsEnum[i].nextDoc(); // TODO (Facet): check?
int origordinal = otherdocsEnum[i].docID();
ordinalMaps[i].addMapping(origordinal, newordinal);
@@ -942,7 +944,7 @@ public class DirectoryTaxonomyWriter imp
// to be added because it already existed in the main taxonomy.
// TODO (Facet): Again, is there a quicker way?
- mainde = mainte.docs(MultiFields.getLiveDocs(mainreader), mainde);
+ mainde = mainte.docs(MultiFields.getLiveDocs(mainreader), mainde, false);
mainde.nextDoc(); // TODO (Facet): check?
int newordinal = mainde.docID();
@@ -950,7 +952,7 @@ public class DirectoryTaxonomyWriter imp
for (int i=0; i<taxonomies.length; i++) {
if (first.equals(currentOthers[i])) {
// TODO (Facet): again, is there a quicker way?
- otherdocsEnum[i] = othertes[i].docs(MultiFields.getLiveDocs(otherreaders[i]), otherdocsEnum[i]);
+ otherdocsEnum[i] = othertes[i].docs(MultiFields.getLiveDocs(otherreaders[i]), otherdocsEnum[i], false);
otherdocsEnum[i].nextDoc(); // TODO (Facet): check?
int origordinal = otherdocsEnum[i].docID();
ordinalMaps[i].addMapping(origordinal, newordinal);
Modified: lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java (original)
+++ lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/FacetTestBase.java Sun Dec 4 19:18:17 2011
@@ -285,7 +285,7 @@ public abstract class FacetTestBase exte
TermsEnum te = terms.iterator(null);
DocsEnum de = null;
while (te.next() != null) {
- de = te.docs(liveDocs, de);
+ de = _TestUtil.docs(random, te, liveDocs, de, false);
int cnt = 0;
while (de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) {
cnt++;
Modified: lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java (original)
+++ lucene/dev/branches/lucene3606/modules/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java Sun Dec 4 19:18:17 2011
@@ -6,40 +6,38 @@ import java.util.List;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
+import org.apache.lucene.facet.FacetTestUtils;
+import org.apache.lucene.facet.index.params.CategoryListParams;
+import org.apache.lucene.facet.index.params.FacetIndexingParams;
+import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
+import org.apache.lucene.facet.search.params.CountFacetRequest;
+import org.apache.lucene.facet.search.params.FacetSearchParams;
+import org.apache.lucene.facet.search.results.FacetResult;
+import org.apache.lucene.facet.search.results.FacetResultNode;
+import org.apache.lucene.facet.taxonomy.CategoryPath;
+import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
+import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
+import org.apache.lucene.search.MultiCollector;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TopScoreDocCollector;
import org.apache.lucene.store.Directory;
-import org.junit.Test;
-
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.search.MultiCollector;
-import org.apache.lucene.facet.FacetTestUtils;
-import org.apache.lucene.facet.index.params.CategoryListParams;
-import org.apache.lucene.facet.index.params.FacetIndexingParams;
-import org.apache.lucene.facet.index.params.PerDimensionIndexingParams;
-import org.apache.lucene.facet.search.FacetsCollector;
-import org.apache.lucene.facet.search.params.CountFacetRequest;
-import org.apache.lucene.facet.search.params.FacetSearchParams;
-import org.apache.lucene.facet.search.results.FacetResult;
-import org.apache.lucene.facet.search.results.FacetResultNode;
-import org.apache.lucene.facet.taxonomy.CategoryPath;
-import org.apache.lucene.facet.taxonomy.TaxonomyReader;
-import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.util._TestUtil;
+import org.junit.Test;
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -91,7 +89,7 @@ public class TestMultipleCategoryLists e
// Obtain facets results and hand-test them
assertCorrectResults(facetsCollector);
- DocsEnum td = MultiFields.getTermDocsEnum(ir, MultiFields.getLiveDocs(ir), "$facets", new BytesRef("$fulltree$"));
+ DocsEnum td = _TestUtil.docs(random, ir, "$facets", new BytesRef("$fulltree$"), MultiFields.getLiveDocs(ir), null, false);
assertTrue(td.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
tr.close();
@@ -188,7 +186,7 @@ public class TestMultipleCategoryLists e
}
private void assertPostingListExists(String field, String text, IndexReader ir) throws IOException {
- DocsEnum de = MultiFields.getTermDocsEnum(ir, null, field, new BytesRef(text));
+ DocsEnum de = _TestUtil.docs(random, ir, field, new BytesRef(text), null, null, false);
assertTrue(de.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
}
Modified: lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/TermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/TermsFilter.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/TermsFilter.java (original)
+++ lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/TermsFilter.java Sun Dec 4 19:18:17 2011
@@ -81,7 +81,7 @@ public class TermsFilter extends Filter
if (terms != null) { // TODO this check doesn't make sense, decide which variable its supposed to be for
br.copyBytes(term.bytes());
if (termsEnum.seekCeil(br) == TermsEnum.SeekStatus.FOUND) {
- docs = termsEnum.docs(acceptDocs, docs);
+ docs = termsEnum.docs(acceptDocs, docs, false);
while (docs.nextDoc() != DocsEnum.NO_MORE_DOCS) {
result.set(docs.docID());
}
Modified: lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java (original)
+++ lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java Sun Dec 4 19:18:17 2011
@@ -62,7 +62,7 @@ public class TFValueSource extends TermF
if (terms != null) {
final TermsEnum termsEnum = terms.iterator(null);
if (termsEnum.seekExact(indexedBytes, false)) {
- docs = termsEnum.docs(null, null);
+ docs = termsEnum.docs(null, null, true);
} else {
docs = null;
}
Modified: lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java (original)
+++ lucene/dev/branches/lucene3606/modules/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java Sun Dec 4 19:18:17 2011
@@ -55,7 +55,7 @@ public class TermFreqValueSource extends
if (terms != null) {
final TermsEnum termsEnum = terms.iterator(null);
if (termsEnum.seekExact(indexedBytes, false)) {
- docs = termsEnum.docs(null, null);
+ docs = termsEnum.docs(null, null, true);
} else {
docs = null;
}
Modified: lucene/dev/branches/lucene3606/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java (original)
+++ lucene/dev/branches/lucene3606/modules/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java Sun Dec 4 19:18:17 2011
@@ -40,6 +40,14 @@ import org.apache.lucene.util.fst.NoOutp
* @see FSTCompletion
*/
public class FSTCompletionLookup extends Lookup {
+ /**
+ * An invalid bucket count if we're creating an object
+ * of this class from an existing FST.
+ *
+ * @see #FSTCompletionLookup(FSTCompletion, boolean)
+ */
+ private static int INVALID_BUCKETS_COUNT = -1;
+
/**
* Shared tail length for conflating in the created automaton. Setting this
* to larger values ({@link Integer#MAX_VALUE}) will create smaller (or minimal)
@@ -70,34 +78,54 @@ public class FSTCompletionLookup extends
*/
private FSTCompletion normalCompletion;
- /*
- *
+ /**
+ * This constructor prepares for creating a suggested FST using the
+ * {@link #build(TermFreqIterator)} method. The number of weight
+ * discretization buckets is set to {@link FSTCompletion#DEFAULT_BUCKETS} and
+ * exact matches are promoted to the top of the suggestions list.
*/
public FSTCompletionLookup() {
this(FSTCompletion.DEFAULT_BUCKETS, true);
}
- /*
+ /**
+ * This constructor prepares for creating a suggested FST using the
+ * {@link #build(TermFreqIterator)} method.
*
- */
- public FSTCompletionLookup(FSTCompletion completion, int buckets, boolean exactMatchFirst) {
- this(buckets, exactMatchFirst);
- this.normalCompletion = new FSTCompletion(
- completion.getFST(), false, exactMatchFirst);
- this.higherWeightsCompletion = new FSTCompletion(
- completion.getFST(), true, exactMatchFirst);
- }
-
- /*
+ * @param buckets
+ * The number of weight discretization buckets (see
+ * {@link FSTCompletion} for details).
*
+ * @param exactMatchFirst
+ * If <code>true</code> exact matches are promoted to the top of the
+ * suggestions list. Otherwise they appear in the order of
+ * discretized weight and alphabetical within the bucket.
*/
public FSTCompletionLookup(int buckets, boolean exactMatchFirst) {
this.buckets = buckets;
this.exactMatchFirst = exactMatchFirst;
}
- /*
+ /**
+ * This constructor takes a pre-built automaton.
*
+ * @param completion
+ * An instance of {@link FSTCompletion}.
+ * @param exactMatchFirst
+ * If <code>true</code> exact matches are promoted to the top of the
+ * suggestions list. Otherwise they appear in the order of
+ * discretized weight and alphabetical within the bucket.
+ */
+ public FSTCompletionLookup(FSTCompletion completion, boolean exactMatchFirst) {
+ this(INVALID_BUCKETS_COUNT, exactMatchFirst);
+ this.normalCompletion = new FSTCompletion(
+ completion.getFST(), false, exactMatchFirst);
+ this.higherWeightsCompletion = new FSTCompletion(
+ completion.getFST(), true, exactMatchFirst);
+ }
+
+ /**
+ * {@inheritDoc}
*/
@Override
public void build(TermFreqIterator tfit) throws IOException {
Modified: lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/request/SimpleFacets.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/request/SimpleFacets.java (original)
+++ lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/request/SimpleFacets.java Sun Dec 4 19:18:17 2011
@@ -687,7 +687,7 @@ public class SimpleFacets {
// TODO: specialize when base docset is a bitset or hash set (skipDocs)? or does it matter for this?
// TODO: do this per-segment for better efficiency (MultiDocsEnum just uses base class impl)
// TODO: would passing deleted docs lead to better efficiency over checking the fastForRandomSet?
- docsEnum = termsEnum.docs(null, docsEnum);
+ docsEnum = termsEnum.docs(null, docsEnum, false);
c=0;
if (docsEnum instanceof MultiDocsEnum) {
Modified: lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java (original)
+++ lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java Sun Dec 4 19:18:17 2011
@@ -314,7 +314,7 @@ class JoinQuery extends Query {
if (freq < minDocFreqFrom) {
fromTermDirectCount++;
// OK to skip liveDocs, since we check for intersection with docs matching query
- fromDeState.docsEnum = fromDeState.termsEnum.docs(null, fromDeState.docsEnum);
+ fromDeState.docsEnum = fromDeState.termsEnum.docs(null, fromDeState.docsEnum, false);
DocsEnum docsEnum = fromDeState.docsEnum;
if (docsEnum instanceof MultiDocsEnum) {
@@ -379,7 +379,7 @@ class JoinQuery extends Query {
toTermDirectCount++;
// need to use liveDocs here so we don't map to any deleted ones
- toDeState.docsEnum = toDeState.termsEnum.docs(toDeState.liveDocs, toDeState.docsEnum);
+ toDeState.docsEnum = toDeState.termsEnum.docs(toDeState.liveDocs, toDeState.docsEnum, false);
DocsEnum docsEnum = toDeState.docsEnum;
if (docsEnum instanceof MultiDocsEnum) {
Modified: lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Sun Dec 4 19:18:17 2011
@@ -559,7 +559,7 @@ public class SolrIndexSearcher extends I
if (!termsEnum.seekExact(termBytes, false)) {
return -1;
}
- DocsEnum docs = termsEnum.docs(MultiFields.getLiveDocs(reader), null);
+ DocsEnum docs = termsEnum.docs(MultiFields.getLiveDocs(reader), null, false);
if (docs == null) return -1;
int id = docs.nextDoc();
return id == DocIdSetIterator.NO_MORE_DOCS ? -1 : id;
@@ -861,7 +861,7 @@ public class SolrIndexSearcher extends I
int bitsSet = 0;
OpenBitSet obs = null;
- DocsEnum docsEnum = deState.termsEnum.docs(deState.liveDocs, deState.docsEnum);
+ DocsEnum docsEnum = deState.termsEnum.docs(deState.liveDocs, deState.docsEnum, false);
if (deState.docsEnum == null) {
deState.docsEnum = docsEnum;
}
@@ -942,7 +942,7 @@ public class SolrIndexSearcher extends I
if (terms != null) {
final TermsEnum termsEnum = terms.iterator(null);
if (termsEnum.seekExact(termBytes, false)) {
- docsEnum = termsEnum.docs(MultiFields.getLiveDocs(reader), null);
+ docsEnum = termsEnum.docs(MultiFields.getLiveDocs(reader), null, false);
}
}
Modified: lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java (original)
+++ lucene/dev/branches/lucene3606/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java Sun Dec 4 19:18:17 2011
@@ -277,7 +277,7 @@ public class FileFloatSource extends Val
continue;
}
- docsEnum = termsEnum.docs(null, docsEnum);
+ docsEnum = termsEnum.docs(null, docsEnum, false);
int doc;
while ((doc = docsEnum.nextDoc()) != DocsEnum.NO_MORE_DOCS) {
vals[doc] = fval;
Modified: lucene/dev/branches/lucene3606/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3606/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java?rev=1210184&r1=1210183&r2=1210184&view=diff
==============================================================================
--- lucene/dev/branches/lucene3606/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java (original)
+++ lucene/dev/branches/lucene3606/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java Sun Dec 4 19:18:17 2011
@@ -17,6 +17,14 @@
package org.apache.solr.search;
+import java.io.IOException;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
@@ -25,6 +33,7 @@ import org.apache.lucene.index.*;
import org.apache.lucene.search.*;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util._TestUtil;
import org.apache.noggit.ObjectBuilder;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrException;
@@ -32,14 +41,6 @@ import org.apache.solr.request.SolrQuery
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.IOException;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-
import static org.apache.solr.core.SolrCore.verbose;
public class TestRealTimeGet extends SolrTestCaseJ4 {
@@ -727,7 +728,7 @@ public class TestRealTimeGet extends Sol
if (!termsEnum.seekExact(termBytes, false)) {
return -1;
}
- DocsEnum docs = termsEnum.docs(MultiFields.getLiveDocs(r), null);
+ DocsEnum docs = _TestUtil.docs(random, termsEnum, MultiFields.getLiveDocs(r), null, false);
int id = docs.nextDoc();
if (id != DocIdSetIterator.NO_MORE_DOCS) {
int next = docs.nextDoc();