当前位置: 首页>>代码示例>>Java>>正文


Java NumericDocValues.get方法代码示例

本文整理汇总了Java中org.apache.lucene.index.NumericDocValues.get方法的典型用法代码示例。如果您正苦于以下问题:Java NumericDocValues.get方法的具体用法?Java NumericDocValues.get怎么用?Java NumericDocValues.get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.lucene.index.NumericDocValues的用法示例。


在下文中一共展示了NumericDocValues.get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSeqNosSet

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
private static FixedBitSet getSeqNosSet(final IndexReader reader, final long highestSeqNo) throws IOException {
    // _seq_no are stored as doc values for the time being, so this is how we get them
    // (as opposed to using an IndexSearcher or IndexReader)
    final FixedBitSet bitSet = new FixedBitSet((int) highestSeqNo + 1);
    final List<LeafReaderContext> leaves = reader.leaves();
    if (leaves.isEmpty()) {
        return bitSet;
    }

    for (int i = 0; i < leaves.size(); i++) {
        final LeafReader leaf = leaves.get(i).reader();
        final NumericDocValues values = leaf.getNumericDocValues(SeqNoFieldMapper.NAME);
        if (values == null) {
            continue;
        }
        final Bits bits = leaf.getLiveDocs();
        for (int docID = 0; docID < leaf.maxDoc(); docID++) {
            if (bits == null || bits.get(docID)) {
                final long seqNo = values.get(docID);
                assertFalse("should not have more than one document with the same seq_no[" + seqNo + "]", bitSet.get((int) seqNo));
                bitSet.set((int) seqNo);
            }
        }
    }
    return bitSet;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:27,代码来源:InternalEngineTests.java

示例2: getBytes

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@Override
public Bytes getBytes(AtomicReader reader, String field, ByteParser parser, boolean setDocsWithField)
    throws IOException {
  final NumericDocValues valuesIn = reader.getNumericDocValues(field);
  if (valuesIn != null) {
    // Not cached here by FieldCacheImpl (cached instead
    // per-thread by SegmentReader):
    return new Bytes() {
      @Override
      public byte get(int docID) {
        return (byte) valuesIn.get(docID);
      }
    };
  } else {
    final FieldInfo info = reader.getFieldInfos().fieldInfo(field);
    if (info == null) {
      return Bytes.EMPTY;
    } else if (info.hasDocValues()) {
      throw new IllegalStateException("Type mismatch: " + field + " was indexed as " + info.getDocValuesType());
    } else if (!info.isIndexed()) {
      return Bytes.EMPTY;
    }
    return (Bytes) caches.get(Byte.TYPE).get(reader, new CacheKey(field, parser), setDocsWithField);
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:26,代码来源:FieldCacheImpl.java

示例3: getShorts

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
public Shorts getShorts(AtomicReader reader, String field, ShortParser parser, boolean setDocsWithField)
    throws IOException {
  final NumericDocValues valuesIn = reader.getNumericDocValues(field);
  if (valuesIn != null) {
    // Not cached here by FieldCacheImpl (cached instead
    // per-thread by SegmentReader):
    return new Shorts() {
      @Override
      public short get(int docID) {
        return (short) valuesIn.get(docID);
      }
    };
  } else {
    final FieldInfo info = reader.getFieldInfos().fieldInfo(field);
    if (info == null) {
      return Shorts.EMPTY;
    } else if (info.hasDocValues()) {
      throw new IllegalStateException("Type mismatch: " + field + " was indexed as " + info.getDocValuesType());
    } else if (!info.isIndexed()) {
      return Shorts.EMPTY;
    }
    return (Shorts) caches.get(Short.TYPE).get(reader, new CacheKey(field, parser), setDocsWithField);
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:25,代码来源:FieldCacheImpl.java

示例4: getInts

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@Override
public Ints getInts(AtomicReader reader, String field, IntParser parser, boolean setDocsWithField)
    throws IOException {
  final NumericDocValues valuesIn = reader.getNumericDocValues(field);
  if (valuesIn != null) {
    // Not cached here by FieldCacheImpl (cached instead
    // per-thread by SegmentReader):
    return new Ints() {
      @Override
      public int get(int docID) {
        return (int) valuesIn.get(docID);
      }
    };
  } else {
    final FieldInfo info = reader.getFieldInfos().fieldInfo(field);
    if (info == null) {
      return Ints.EMPTY;
    } else if (info.hasDocValues()) {
      throw new IllegalStateException("Type mismatch: " + field + " was indexed as " + info.getDocValuesType());
    } else if (!info.isIndexed()) {
      return Ints.EMPTY;
    }
    return (Ints) caches.get(Integer.TYPE).get(reader, new CacheKey(field, parser), setDocsWithField);
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:26,代码来源:FieldCacheImpl.java

示例5: getLongs

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@Override
public Longs getLongs(AtomicReader reader, String field, FieldCache.LongParser parser, boolean setDocsWithField)
    throws IOException {
  final NumericDocValues valuesIn = reader.getNumericDocValues(field);
  if (valuesIn != null) {
    // Not cached here by FieldCacheImpl (cached instead
    // per-thread by SegmentReader):
    return new Longs() {
      @Override
      public long get(int docID) {
        return valuesIn.get(docID);
      }
    };
  } else {
    final FieldInfo info = reader.getFieldInfos().fieldInfo(field);
    if (info == null) {
      return Longs.EMPTY;
    } else if (info.hasDocValues()) {
      throw new IllegalStateException("Type mismatch: " + field + " was indexed as " + info.getDocValuesType());
    } else if (!info.isIndexed()) {
      return Longs.EMPTY;
    }
    return (Longs) caches.get(Long.TYPE).get(reader, new CacheKey(field, parser), setDocsWithField);
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:26,代码来源:FieldCacheImpl.java

示例6: explainTFNorm

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
private Explanation explainTFNorm(int doc, Explanation freq, BM25StatsFixed stats, NumericDocValues norms) {
  List<Explanation> subs = new ArrayList<>();
  subs.add(freq);
  subs.add(Explanation.match(k1, "parameter k1"));
  if (norms == null) {
    subs.add(Explanation.match(0, "parameter b (norms omitted for field)"));
    return Explanation.match(
        (freq.getValue() * (k1 + 1)) / (freq.getValue() + k1),
        "tfNorm, computed from:", subs);
  } else {
    float doclen = norms.get(doc);
    subs.add(Explanation.match(b, "parameter b"));
    subs.add(Explanation.match(stats.avgdl, "avgFieldLength"));
    subs.add(Explanation.match(doclen, "fieldLength"));
    return Explanation.match(
        (freq.getValue() * (k1 + 1)) / (freq.getValue() + k1 * (1 - b + b * doclen/stats.avgdl)),
        "tfNorm, computed from:", subs);
  }
}
 
开发者ID:sebastian-hofstaetter,项目名称:ir-generalized-translation-models,代码行数:20,代码来源:BM25SimilarityLossless.java

示例7: newSortedInstance

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
private SortedDocValues newSortedInstance(final NumericDocValues docToOrd, final BinaryDocValues values, final int count) {
  return new SortedDocValues() {

    @Override
    public int getOrd(int docID) {
      return (int) docToOrd.get(docID);
    }

    @Override
    public BytesRef lookupOrd(int ord) {
      return values.get(ord);
    }

    @Override
    public int getValueCount() {
      return count;
    }

    // Leave lookupTerm to super's binary search

    // Leave termsEnum to super
  };
}
 
开发者ID:europeana,项目名称:search,代码行数:24,代码来源:DirectDocValuesProducer.java

示例8: getValue

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@Override
public long getValue( String field )
{
    if ( ensureValidDisi() )
    {
        if ( docValuesCache.containsKey( field ) )
        {
            return docValuesCache.get( field ).get( currentDisi.docID() );
        }

        NumericDocValues docValues = currentDocs.readDocValues( field );
        docValuesCache.put( field, docValues );

        return docValues.get( currentDisi.docID() );
    }
    else
    {
        // same as DocValues.emptyNumeric()#get
        // which means, getValue carries over the semantics of NDV
        // -1 would also be a possibility here.
        return 0;
    }
}
 
开发者ID:neo4j-contrib,项目名称:neo4j-lucene5-index,代码行数:24,代码来源:DocValuesCollector.java

示例9: getACLFilter

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
protected BitsFilter getACLFilter(String[] auths, String field, SolrIndexSearcher searcher) throws IOException
{
    HybridBitSet aclBits = getACLSet(auths, field, searcher);
    List<AtomicReaderContext> leaves = searcher.getTopReaderContext().leaves();
    List<FixedBitSet> bitSets = new ArrayList(leaves.size());

    for(AtomicReaderContext readerContext :  leaves)
    {
        AtomicReader reader = readerContext.reader();
        int maxDoc = reader.maxDoc();
        FixedBitSet bits = new FixedBitSet(maxDoc);
        bitSets.add(bits);

        NumericDocValues fieldValues = DocValuesCache.getNumericDocValues(QueryConstants.FIELD_ACLID, reader);
        if (fieldValues != null) {
            for (int i = 0; i < maxDoc; i++) {
                long aclID = fieldValues.get(i);
                if (aclBits.get(aclID)) {
                    bits.set(i);
                }
            }
        }
    }

    return new BitsFilter(bitSets);
}
 
开发者ID:Alfresco,项目名称:community-edition-old,代码行数:27,代码来源:AbstractAuthoritySetQuery.java

示例10: getInts

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
public Ints getInts(AtomicReader reader, String field, IntParser parser, boolean setDocsWithField)
    throws IOException {
  final NumericDocValues valuesIn = reader.getNumericDocValues(field);
  if (valuesIn != null) {
    // Not cached here by FieldCacheImpl (cached instead
    // per-thread by SegmentReader):
    return new Ints() {
      @Override
      public int get(int docID) {
        return (int) valuesIn.get(docID);
      }
    };
  } else {
    final FieldInfo info = reader.getFieldInfos().fieldInfo(field);
    if (info == null) {
      return Ints.EMPTY;
    } else if (info.hasDocValues()) {
      throw new IllegalStateException("Type mismatch: " + field + " was indexed as " + info.getDocValuesType());
    } else if (!info.isIndexed()) {
      return Ints.EMPTY;
    }
    return (Ints) caches.get(Integer.TYPE).get(reader, new CacheKey(field, parser), setDocsWithField);
  }
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:25,代码来源:FieldCacheImpl.java

示例11: secureNumericDocValues

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
private NumericDocValues secureNumericDocValues(final NumericDocValues numericDocValues, final ReadType type) {
  if (numericDocValues == null) {
    return null;
  }
  return new NumericDocValues() {

    @Override
    public long get(int docID) {
      try {
        if (_accessControl.hasAccess(type, docID)) {
          return numericDocValues.get(docID);
        }
        return 0L; // Default missing value.
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    }
  };
}
 
开发者ID:apache,项目名称:incubator-blur,代码行数:20,代码来源:SecureAtomicReader.java

示例12: sort

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@Override
public Sorter.DocMap sort(final AtomicReader reader) throws IOException {
  final NumericDocValues ndv = reader.getNumericDocValues(fieldName);
  final DocComparator comparator;
  if (ascending) {
    comparator = new DocComparator() {
      @Override
      public int compare(int docID1, int docID2) {
        final long v1 = ndv.get(docID1);
        final long v2 = ndv.get(docID2);
        return v1 < v2 ? -1 : v1 == v2 ? 0 : 1;
      }
    };
  } else {
    comparator = new DocComparator() {
      @Override
      public int compare(int docID1, int docID2) {
        final long v1 = ndv.get(docID1);
        final long v2 = ndv.get(docID2);
        return v1 > v2 ? -1 : v1 == v2 ? 0 : 1;
      }
    };
  }
  return sort(reader.maxDoc(), comparator);
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:26,代码来源:NumericDocValuesSorter.java

示例13: verify

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
private void verify(SortedNumericDocValues values, int maxDoc, FixedBitSet rootDocs, FixedBitSet innerDocs) throws IOException {
    for (long missingValue : new long[] { 0, randomLong() }) {
        for (MultiValueMode mode : new MultiValueMode[] {MultiValueMode.MIN, MultiValueMode.MAX, MultiValueMode.SUM, MultiValueMode.AVG}) {
            final NumericDocValues selected = mode.select(values, missingValue, rootDocs, new BitSetIterator(innerDocs, 0L), maxDoc);
            int prevRoot = -1;
            for (int root = rootDocs.nextSetBit(0); root != -1; root = root + 1 < maxDoc ? rootDocs.nextSetBit(root + 1) : -1) {
                final long actual = selected.get(root);
                long expected = 0;
                if (mode == MultiValueMode.MAX) {
                    expected = Long.MIN_VALUE;
                } else if (mode == MultiValueMode.MIN) {
                    expected = Long.MAX_VALUE;
                }
                int numValues = 0;
                for (int child = innerDocs.nextSetBit(prevRoot + 1); child != -1 && child < root; child = innerDocs.nextSetBit(child + 1)) {
                    values.setDocument(child);
                    for (int j = 0; j < values.count(); ++j) {
                        if (mode == MultiValueMode.SUM || mode == MultiValueMode.AVG) {
                            expected += values.valueAt(j);
                        } else if (mode == MultiValueMode.MIN) {
                            expected = Math.min(expected, values.valueAt(j));
                        } else if (mode == MultiValueMode.MAX) {
                            expected = Math.max(expected, values.valueAt(j));
                        }
                        ++numValues;
                    }
                }
                if (numValues == 0) {
                    expected = missingValue;
                } else if (mode == MultiValueMode.AVG) {
                    expected = numValues > 1 ? Math.round((double) expected / (double) numValues) : expected;
                }

                assertEquals(mode.toString() + " docId=" + root, expected, actual);

                prevRoot = root;
            }
        }
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:41,代码来源:MultiValueModeTests.java

示例14: beforeClassSortingAtomicReaderTest

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
@BeforeClass
public static void beforeClassSortingAtomicReaderTest() throws Exception {
  
  // sort the index by id (as integer, in NUMERIC_DV_FIELD)
  Sort sort = new Sort(new SortField(NUMERIC_DV_FIELD, SortField.Type.INT));
  final Sorter.DocMap docMap = new Sorter(sort).sort(reader);
 
  // Sorter.compute also sorts the values
  NumericDocValues dv = reader.getNumericDocValues(NUMERIC_DV_FIELD);
  sortedValues = new Integer[reader.maxDoc()];
  for (int i = 0; i < reader.maxDoc(); ++i) {
    sortedValues[docMap.oldToNew(i)] = (int)dv.get(i);
  }
  if (VERBOSE) {
    System.out.println("docMap: " + docMap);
    System.out.println("sortedValues: " + Arrays.toString(sortedValues));
  }
  
  // sort the index by id (as integer, in NUMERIC_DV_FIELD)
  reader = SortingAtomicReader.wrap(reader, sort);
  
  if (VERBOSE) {
    System.out.print("mapped-deleted-docs: ");
    Bits mappedLiveDocs = reader.getLiveDocs();
    for (int i = 0; i < mappedLiveDocs.length(); i++) {
      if (!mappedLiveDocs.get(i)) {
        System.out.print(i + " ");
      }
    }
    System.out.println();
  }
  
  TestUtil.checkReader(reader);
}
 
开发者ID:europeana,项目名称:search,代码行数:35,代码来源:SortingAtomicReaderTest.java

示例15: write

import org.apache.lucene.index.NumericDocValues; //导入方法依赖的package包/类
public void write(int docId, AtomicReader reader, Writer out) throws IOException {
  NumericDocValues vals = reader.getNumericDocValues(this.field);
  int val = (int)vals.get(docId);
   out.write('"');
   out.write(this.field);
   out.write('"');
   out.write(':');
   out.write(Integer.toString(val));
}
 
开发者ID:europeana,项目名称:search,代码行数:10,代码来源:SortingResponseWriter.java


注:本文中的org.apache.lucene.index.NumericDocValues.get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。