Package org.apache.lucene.index

Examples of org.apache.lucene.index.TermEnum


      private void collectTermDocs(IndexReader reader, Term start, TermDocsCollector collector) throws IOException
      {
         TermDocs tDocs = reader.termDocs();
         try
         {
            TermEnum terms = reader.terms(start);
            try
            {
               int count = 0;
               do
               {
                  Term t = terms.term();
                  if (t != null && t.field() == start.field())
                  {
                     tDocs.seek(terms);
                     collector.collect(t, tDocs);
                  }
                  else
                  {
                     break;
                  }
                  // once in a while check if we should quit
                  if (++count % 10000 == 0)
                  {
                     if (stopRequested)
                     {
                        break;
                     }
                  }
               }
               while (terms.next());
            }
            finally
            {
               terms.close();
            }
         }
         finally
         {
            tDocs.close();
View Full Code Here


  }

  private void initFacetCounts(IndexReader reader) throws IOException {
    String fieldName = facetRequest.getFieldName();
    // term are enumerated by field name and within field names by term value
    TermEnum terms = reader.terms( new Term( fieldName, "" ) );
    try {
      while ( fieldName.equals( terms.term().field() ) ) {
        String fieldValue = terms.term().text();
        facetCounts.initCount( fieldValue );
        if ( !terms.next() ) {
          break;
        }
      }
    }
    finally {
      terms.close();
    }
  }
View Full Code Here

  }

  private void initFacetCounts(IndexReader reader) throws IOException {
    String fieldName = facetRequest.getFieldName();
    // term are enumerated by field name and within field names by term value
    TermEnum terms = reader.terms( new Term( fieldName, "" ) );
    try {
      while ( fieldName.equals( terms.term().field() ) ) {
        String fieldValue = terms.term().text();
        facetCounts.initCount( fieldValue );
        if ( !terms.next() ) {
          break;
        }
      }
    }
    finally {
      terms.close();
    }
  }
View Full Code Here

                log.debug("IndexFormatVersion >= V3, no migration needed");
                return;
            }
            // assert: there is at least one node in the index, otherwise the
            //         index format version would be at least V3
            TermEnum terms = reader.terms(new Term(FieldNames.PROPERTIES, ""));
            try {
                Term t = terms.term();
                if (t.text().indexOf(oldSeparatorChar) == -1) {
                    log.debug("Index already migrated");
                    return;
                }
            } finally {
                terms.close();
            }
        } finally {
            reader.release();
            index.releaseWriterAndReaders();
        }
View Full Code Here

                            s2 = s2.replace(oldSepChar, '[');
                            return s1.compareTo(s2);
                        }
            });
            // scan through terms and find embedded field names
            TermEnum terms = new RangeScan(in,
                    new Term(FieldNames.PROPERTIES, ""),
                    new Term(FieldNames.PROPERTIES, "\uFFFF"));
            String previous = null;
            while (terms.next()) {
                Term t = terms.term();
                String name = t.text().substring(0, t.text().indexOf(oldSepChar) + 1);
                if (!name.equals(previous)) {
                    termEnums.put(name, new RangeScan(in,
                            new Term(FieldNames.PROPERTIES, name),
                            new Term(FieldNames.PROPERTIES, name + "\uFFFF")));
View Full Code Here

            queue.addAll(enums);
        }

        public boolean next() throws IOException {
            for (;;) {
                TermEnum terms = queue.peek();
                if (terms == null) {
                    // no more enums
                    break;
                }
                if (terms.next()) {
                    return true;
                } else {
                    queue.remove();
                    terms.close();
                }
            }
            return false;
        }
View Full Code Here

            }
            return false;
        }

        public Term term() {
            TermEnum terms = queue.peek();
            if (terms != null) {
                return terms.term();
            }
            return null;
        }
View Full Code Here

            }
            return null;
        }

        public int docFreq() {
            TermEnum terms = queue.peek();
            if (terms != null) {
                return terms.docFreq();
            }
            return 0;
        }
View Full Code Here

   * @throws IOException
   */
  public int addStopWords(IndexReader reader, String fieldName, int maxDocFreq) throws IOException {
    HashSet stopWords = new HashSet();
    String internedFieldName = StringHelper.intern(fieldName);
    TermEnum te = reader.terms(new Term(fieldName));
    Term term = te.term();
    while (term != null) {
      if (term.field() != internedFieldName) {
        break;
      }
      if (te.docFreq() > maxDocFreq) {
        stopWords.add(term.text());
      }
      if (!te.next()) {
        break;
      }
      term = te.term();
    }
    stopWordsPerField.put(fieldName, stopWords);
   
    /* if the stopwords for a field are changed,
     * then saved streams for that field are erased.
View Full Code Here

  private void testTermDocs(Directory aprioriIndex, InstantiatedIndex testIndex) throws Exception {

    IndexReader aprioriReader = IndexReader.open(aprioriIndex);
    IndexReader testReader = testIndex.indexReaderFactory();

    TermEnum aprioriTermEnum = aprioriReader.terms(new Term("c", "danny"));

    TermDocs aprioriTermDocs = aprioriReader.termDocs(aprioriTermEnum.term());
    TermDocs testTermDocs = testReader.termDocs(aprioriTermEnum.term());

    assertEquals(aprioriTermDocs.next(), testTermDocs.next());
    assertEquals(aprioriTermDocs.doc(), testTermDocs.doc());

    assertEquals(aprioriTermDocs.skipTo(100), testTermDocs.skipTo(100));
View Full Code Here

TOP

Related Classes of org.apache.lucene.index.TermEnum

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.