Java 类org.apache.lucene.search.FieldCache.Longs 实例源码

项目:search    文件:TestFieldCache.java   
public void testNonexistantFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms", true);
  BytesRef scratch = binaries.get(0);
  assertEquals(0, scratch.length);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  scratch = sorted.get(0);
  assertEquals(0, scratch.length);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:search    文件:TestFieldCache.java   
public void testNonIndexedFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  doc.add(new StoredField("bogusbytes", "bogus"));
  doc.add(new StoredField("bogusshorts", "bogus"));
  doc.add(new StoredField("bogusints", "bogus"));
  doc.add(new StoredField("boguslongs", "bogus"));
  doc.add(new StoredField("bogusfloats", "bogus"));
  doc.add(new StoredField("bogusdoubles", "bogus"));
  doc.add(new StoredField("bogusterms", "bogus"));
  doc.add(new StoredField("bogustermsindex", "bogus"));
  doc.add(new StoredField("bogusmultivalued", "bogus"));
  doc.add(new StoredField("bogusbits", "bogus"));
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms", true);
  BytesRef scratch = binaries.get(0);
  assertEquals(0, scratch.length);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  scratch = sorted.get(0);
  assertEquals(0, scratch.length);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:search    文件:TestFieldCache.java   
public void testLongFieldCache() throws IOException {
  Directory dir = newDirectory();
  IndexWriterConfig cfg = newIndexWriterConfig(new MockAnalyzer(random()));
  cfg.setMergePolicy(newLogMergePolicy());
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir, cfg);
  Document doc = new Document();
  LongField field = new LongField("f", 0L, Store.YES);
  doc.add(field);
  final long[] values = new long[TestUtil.nextInt(random(), 1, 10)];
  for (int i = 0; i < values.length; ++i) {
    final long v;
    switch (random().nextInt(10)) {
      case 0:
        v = Long.MIN_VALUE;
        break;
      case 1:
        v = 0;
        break;
      case 2:
        v = Long.MAX_VALUE;
        break;
      default:
        v = TestUtil.nextLong(random(), -10, 10);
        break;
    }
    values[i] = v;
    if (v == 0 && random().nextBoolean()) {
      // missing
      iw.addDocument(new Document());
    } else {
      field.setLongValue(v);
      iw.addDocument(doc);
    }
  }
  iw.forceMerge(1);
  final DirectoryReader reader = iw.getReader();
  final FieldCache.Longs longs = FieldCache.DEFAULT.getLongs(getOnlySegmentReader(reader), "f", false);
  for (int i = 0; i < values.length; ++i) {
    assertEquals(values[i], longs.get(i));
  }
  reader.close();
  iw.close();
  dir.close();
}
项目:NYBC    文件:TestFieldCache.java   
public void testNonexistantFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BytesRef scratch = new BytesRef();
  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms");
  binaries.get(0, scratch);
  assertTrue(scratch.bytes == BinaryDocValues.MISSING);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  sorted.get(0, scratch);
  assertTrue(scratch.bytes == BinaryDocValues.MISSING);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:NYBC    文件:TestFieldCache.java   
public void testNonIndexedFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  doc.add(new StoredField("bogusbytes", "bogus"));
  doc.add(new StoredField("bogusshorts", "bogus"));
  doc.add(new StoredField("bogusints", "bogus"));
  doc.add(new StoredField("boguslongs", "bogus"));
  doc.add(new StoredField("bogusfloats", "bogus"));
  doc.add(new StoredField("bogusdoubles", "bogus"));
  doc.add(new StoredField("bogusterms", "bogus"));
  doc.add(new StoredField("bogustermsindex", "bogus"));
  doc.add(new StoredField("bogusmultivalued", "bogus"));
  doc.add(new StoredField("bogusbits", "bogus"));
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BytesRef scratch = new BytesRef();
  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms");
  binaries.get(0, scratch);
  assertTrue(scratch.bytes == BinaryDocValues.MISSING);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  sorted.get(0, scratch);
  assertTrue(scratch.bytes == BinaryDocValues.MISSING);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestFieldCache.java   
public void testNonexistantFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BytesRef scratch = new BytesRef();
  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms", true);
  binaries.get(0, scratch);
  assertEquals(0, scratch.length);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  sorted.get(0, scratch);
  assertEquals(0, scratch.length);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestFieldCache.java   
public void testNonIndexedFields() throws Exception {
  Directory dir = newDirectory();
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir);
  Document doc = new Document();
  doc.add(new StoredField("bogusbytes", "bogus"));
  doc.add(new StoredField("bogusshorts", "bogus"));
  doc.add(new StoredField("bogusints", "bogus"));
  doc.add(new StoredField("boguslongs", "bogus"));
  doc.add(new StoredField("bogusfloats", "bogus"));
  doc.add(new StoredField("bogusdoubles", "bogus"));
  doc.add(new StoredField("bogusterms", "bogus"));
  doc.add(new StoredField("bogustermsindex", "bogus"));
  doc.add(new StoredField("bogusmultivalued", "bogus"));
  doc.add(new StoredField("bogusbits", "bogus"));
  iw.addDocument(doc);
  DirectoryReader ir = iw.getReader();
  iw.close();

  AtomicReader ar = getOnlySegmentReader(ir);

  final FieldCache cache = FieldCache.DEFAULT;
  cache.purgeAllCaches();
  assertEquals(0, cache.getCacheEntries().length);

  Bytes bytes = cache.getBytes(ar, "bogusbytes", true);
  assertEquals(0, bytes.get(0));

  Shorts shorts = cache.getShorts(ar, "bogusshorts", true);
  assertEquals(0, shorts.get(0));

  Ints ints = cache.getInts(ar, "bogusints", true);
  assertEquals(0, ints.get(0));

  Longs longs = cache.getLongs(ar, "boguslongs", true);
  assertEquals(0, longs.get(0));

  Floats floats = cache.getFloats(ar, "bogusfloats", true);
  assertEquals(0, floats.get(0), 0.0f);

  Doubles doubles = cache.getDoubles(ar, "bogusdoubles", true);
  assertEquals(0, doubles.get(0), 0.0D);

  BytesRef scratch = new BytesRef();
  BinaryDocValues binaries = cache.getTerms(ar, "bogusterms", true);
  binaries.get(0, scratch);
  assertEquals(0, scratch.length);

  SortedDocValues sorted = cache.getTermsIndex(ar, "bogustermsindex");
  assertEquals(-1, sorted.getOrd(0));
  sorted.get(0, scratch);
  assertEquals(0, scratch.length);

  SortedSetDocValues sortedSet = cache.getDocTermOrds(ar, "bogusmultivalued");
  sortedSet.setDocument(0);
  assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());

  Bits bits = cache.getDocsWithField(ar, "bogusbits");
  assertFalse(bits.get(0));

  // check that we cached nothing
  assertEquals(0, cache.getCacheEntries().length);
  ir.close();
  dir.close();
}
项目:Maskana-Gestor-de-Conocimiento    文件:TestFieldCache.java   
public void testLongFieldCache() throws IOException {
  Directory dir = newDirectory();
  IndexWriterConfig cfg = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
  cfg.setMergePolicy(newLogMergePolicy());
  RandomIndexWriter iw = new RandomIndexWriter(random(), dir, cfg);
  Document doc = new Document();
  LongField field = new LongField("f", 0L, Store.YES);
  doc.add(field);
  final long[] values = new long[_TestUtil.nextInt(random(), 1, 10)];
  for (int i = 0; i < values.length; ++i) {
    final long v;
    switch (random().nextInt(10)) {
      case 0:
        v = Long.MIN_VALUE;
        break;
      case 1:
        v = 0;
        break;
      case 2:
        v = Long.MAX_VALUE;
        break;
      default:
        v = _TestUtil.nextLong(random(), -10, 10);
        break;
    }
    values[i] = v;
    if (v == 0 && random().nextBoolean()) {
      // missing
      iw.addDocument(new Document());
    } else {
      field.setLongValue(v);
      iw.addDocument(doc);
    }
  }
  iw.forceMerge(1);
  final DirectoryReader reader = iw.getReader();
  final FieldCache.Longs longs = FieldCache.DEFAULT.getLongs(getOnlySegmentReader(reader), "f", false);
  for (int i = 0; i < values.length; ++i) {
    assertEquals(values[i], longs.get(i));
  }
  reader.close();
  iw.close();
  dir.close();
}