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


Java MultiSortedDocValues类代码示例

本文整理汇总了Java中org.apache.lucene.index.MultiDocValues.MultiSortedDocValues的典型用法代码示例。如果您正苦于以下问题:Java MultiSortedDocValues类的具体用法?Java MultiSortedDocValues怎么用?Java MultiSortedDocValues使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MultiSortedDocValues类属于org.apache.lucene.index.MultiDocValues包,在下文中一共展示了MultiSortedDocValues类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getSortedDocValues

import org.apache.lucene.index.MultiDocValues.MultiSortedDocValues; //导入依赖的package包/类
@Override
public SortedDocValues getSortedDocValues(String field) throws IOException {
  ensureOpen();
  OrdinalMap map = null;
  synchronized (cachedOrdMaps) {
    map = cachedOrdMaps.get(field);
    if (map == null) {
      // uncached, or not a multi dv
      SortedDocValues dv = MultiDocValues.getSortedValues(in, field);
      if (dv instanceof MultiSortedDocValues) {
        map = ((MultiSortedDocValues)dv).mapping;
        if (map.owner == getCoreCacheKey()) {
          cachedOrdMaps.put(field, map);
        }
      }
      return dv;
    }
  }
  // cached ordinal map
  if (getFieldInfos().fieldInfo(field).getDocValuesType() != DocValuesType.SORTED) {
    return null;
  }
  int size = in.leaves().size();
  final SortedDocValues[] values = new SortedDocValues[size];
  final int[] starts = new int[size+1];
  for (int i = 0; i < size; i++) {
    AtomicReaderContext context = in.leaves().get(i);
    SortedDocValues v = context.reader().getSortedDocValues(field);
    if (v == null) {
      v = DocValues.emptySorted();
    }
    values[i] = v;
    starts[i] = context.docBase;
  }
  starts[size] = maxDoc();
  return new MultiSortedDocValues(values, starts, map);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:38,代码来源:SlowCompositeReaderWrapper.java

示例2: getSortedDocValues

import org.apache.lucene.index.MultiDocValues.MultiSortedDocValues; //导入依赖的package包/类
@Override
public SortedDocValues getSortedDocValues(String field) throws IOException {
  ensureOpen();
  OrdinalMap map = null;
  synchronized (cachedOrdMaps) {
    map = cachedOrdMaps.get(field);
    if (map == null) {
      // uncached, or not a multi dv
      SortedDocValues dv = MultiDocValues.getSortedValues(in, field);
      if (dv instanceof MultiSortedDocValues) {
        map = ((MultiSortedDocValues)dv).mapping;
        if (map.owner == getCoreCacheKey()) {
          cachedOrdMaps.put(field, map);
        }
      }
      return dv;
    }
  }
  // cached ordinal map
  if (getFieldInfos().fieldInfo(field).getDocValuesType() != DocValuesType.SORTED) {
    return null;
  }
  int size = in.leaves().size();
  final SortedDocValues[] values = new SortedDocValues[size];
  final int[] starts = new int[size+1];
  for (int i = 0; i < size; i++) {
    AtomicReaderContext context = in.leaves().get(i);
    SortedDocValues v = context.reader().getSortedDocValues(field);
    if (v == null) {
      v = SortedDocValues.EMPTY;
    }
    values[i] = v;
    starts[i] = context.docBase;
  }
  starts[size] = maxDoc();
  return new MultiSortedDocValues(values, starts, map);
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:38,代码来源:SlowCompositeReaderWrapper.java


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