Java 类org.apache.lucene.util.Bits.MatchNoBits 实例源码

项目:search    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumNoReuse() throws IOException {
  Directory dir = newDirectory();
  Codec cp = TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    AtomicReader indexReader = ctx.reader();
    Terms terms = indexReader.terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<>();
    MatchNoBits bits = new Bits.MatchNoBits(indexReader.maxDoc());
    while ((iterator.next()) != null) {
      DocsEnum docs = iterator.docs(random().nextBoolean() ? bits : new Bits.MatchNoBits(indexReader.maxDoc()), null, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, open, dir);
}
项目:NYBC    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumNoReuse() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    AtomicReader indexReader = ctx.reader();
    Terms terms = indexReader.terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(indexReader.maxDoc());
    while ((iterator.next()) != null) {
      DocsEnum docs = iterator.docs(random().nextBoolean() ? bits : new Bits.MatchNoBits(indexReader.maxDoc()), null, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, open, dir);
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumNoReuse() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    AtomicReader indexReader = ctx.reader();
    Terms terms = indexReader.terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(indexReader.maxDoc());
    while ((iterator.next()) != null) {
      DocsEnum docs = iterator.docs(random().nextBoolean() ? bits : new Bits.MatchNoBits(indexReader.maxDoc()), null, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, open, dir);
}
项目:NYBC    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumDifferentReader() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader firstReader = DirectoryReader.open(dir);
  DirectoryReader secondReader = DirectoryReader.open(dir);
  List<AtomicReaderContext> leaves = firstReader.leaves();
  List<AtomicReaderContext> leaves2 = secondReader.leaves();

  for (AtomicReaderContext ctx : leaves) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(firstReader.maxDoc());
    iterator = terms.iterator(null);
    DocsEnum docs = null;
    BytesRef term = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(null, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    iterator = terms.iterator(null);
    enums.clear();
    docs = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(bits, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, firstReader, secondReader, dir);
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumDifferentReader() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader firstReader = DirectoryReader.open(dir);
  DirectoryReader secondReader = DirectoryReader.open(dir);
  List<AtomicReaderContext> leaves = firstReader.leaves();
  List<AtomicReaderContext> leaves2 = secondReader.leaves();

  for (AtomicReaderContext ctx : leaves) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(firstReader.maxDoc());
    iterator = terms.iterator(null);
    DocsEnum docs = null;
    BytesRef term = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(null, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    iterator = terms.iterator(null);
    enums.clear();
    docs = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(bits, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, firstReader, secondReader, dir);
}
项目:search    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumSameBitsOrNull() throws IOException {
  Directory dir = newDirectory();
  Codec cp = TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<>();
    MatchNoBits bits = new Bits.MatchNoBits(open.maxDoc());
    DocsEnum docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(bits, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(1, enums.size());
    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(null, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(1, enums.size());  
  }
  IOUtils.close(writer, open, dir);
}
项目:search    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumDifferentReader() throws IOException {
  Directory dir = newDirectory();
  Codec cp = TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  MockAnalyzer analyzer = new MockAnalyzer(random());
  analyzer.setMaxTokenLength(TestUtil.nextInt(random(), 1, IndexWriter.MAX_TERM_LENGTH));

  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(analyzer).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader firstReader = DirectoryReader.open(dir);
  DirectoryReader secondReader = DirectoryReader.open(dir);
  List<AtomicReaderContext> leaves = firstReader.leaves();
  List<AtomicReaderContext> leaves2 = secondReader.leaves();

  for (AtomicReaderContext ctx : leaves) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<>();
    MatchNoBits bits = new Bits.MatchNoBits(firstReader.maxDoc());
    iterator = terms.iterator(null);
    DocsEnum docs = null;
    BytesRef term = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(null, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    iterator = terms.iterator(null);
    enums.clear();
    docs = null;
    while ((term = iterator.next()) != null) {
      docs = iterator.docs(bits, randomDocsEnum("body", term, leaves2, bits), random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());
  }
  IOUtils.close(writer, firstReader, secondReader, dir);
}
项目:NYBC    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumSameBitsOrNull() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(open.maxDoc());
    DocsEnum docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(bits, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(1, enums.size());
    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(null, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(1, enums.size());  
  }
  IOUtils.close(writer, open, dir);
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestReuseDocsEnum.java   
public void testReuseDocsEnumSameBitsOrNull() throws IOException {
  Directory dir = newDirectory();
  Codec cp = _TestUtil.alwaysPostingsFormat(new Lucene40RWPostingsFormat());
  RandomIndexWriter writer = new RandomIndexWriter(random(), dir,
      newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setCodec(cp));
  int numdocs = atLeast(20);
  createRandomIndex(numdocs, writer, random());
  writer.commit();

  DirectoryReader open = DirectoryReader.open(dir);
  for (AtomicReaderContext ctx : open.leaves()) {
    Terms terms = ctx.reader().terms("body");
    TermsEnum iterator = terms.iterator(null);
    IdentityHashMap<DocsEnum, Boolean> enums = new IdentityHashMap<DocsEnum, Boolean>();
    MatchNoBits bits = new Bits.MatchNoBits(open.maxDoc());
    DocsEnum docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(bits, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }

    assertEquals(1, enums.size());
    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(new Bits.MatchNoBits(open.maxDoc()), docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(terms.size(), enums.size());

    enums.clear();
    iterator = terms.iterator(null);
    docs = null;
    while ((iterator.next()) != null) {
      docs = iterator.docs(null, docs, random().nextBoolean() ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE);
      enums.put(docs, true);
    }
    assertEquals(1, enums.size());  
  }
  IOUtils.close(writer, open, dir);
}