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();