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


Java SortedSetDocValues.lookupOrd方法代码示例

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


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

示例1: testSortedSetDocValuesField

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
@Test
public void testSortedSetDocValuesField() throws Exception {
  assumeTrue("default codec does not support SORTED_SET", defaultCodecSupportsSortedSet());
  SortedSetDocValues dv = reader.getSortedSetDocValues(SORTED_SET_DV_FIELD);
  int maxDoc = reader.maxDoc();
  BytesRef bytes = new BytesRef();
  for (int i = 0; i < maxDoc; i++) {
    dv.setDocument(i);
    dv.lookupOrd(dv.nextOrd(), bytes);
    int value = sortedValues[i].intValue();
    assertEquals("incorrect sorted-set DocValues for doc " + i, Integer.valueOf(value).toString(), bytes.utf8ToString());
    dv.lookupOrd(dv.nextOrd(), bytes);
    assertEquals("incorrect sorted-set DocValues for doc " + i, Integer.valueOf(value + 1).toString(), bytes.utf8ToString());
    assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
  }
}
 
开发者ID:jimaguere,项目名称:Maskana-Gestor-de-Conocimiento,代码行数:17,代码来源:SorterTestBase.java

示例2: testSortedSetDocValuesField

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
@Test
public void testSortedSetDocValuesField() throws Exception {
  assumeTrue("default codec does not support SORTED_SET", defaultCodecSupportsSortedSet());
  SortedSetDocValues dv = reader.getSortedSetDocValues(SORTED_SET_DV_FIELD);
  int maxDoc = reader.maxDoc();
  for (int i = 0; i < maxDoc; i++) {
    dv.setDocument(i);
    BytesRef bytes = dv.lookupOrd(dv.nextOrd());
    int value = sortedValues[i].intValue();
    assertEquals("incorrect sorted-set DocValues for doc " + i, Integer.valueOf(value).toString(), bytes.utf8ToString());
    bytes = dv.lookupOrd(dv.nextOrd());
    assertEquals("incorrect sorted-set DocValues for doc " + i, Integer.valueOf(value + 1).toString(), bytes.utf8ToString());
    assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:16,代码来源:SorterTestBase.java

示例3: write

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
public void write(int docId, AtomicReader reader, Writer out) throws IOException {
  SortedSetDocValues vals = reader.getSortedSetDocValues(this.field);
  vals.setDocument(docId);
  out.write('"');
  out.write(this.field);
  out.write('"');
  out.write(':');
  out.write('[');
  int v = 0;
  long ord = -1;
  while((ord = vals.nextOrd()) != SortedSetDocValues.NO_MORE_ORDS) {
    BytesRef ref = vals.lookupOrd(ord);
    fieldType.indexedToReadable(ref, cref);
    if(v > 0) {
      out.write(',');
    }

    if(!numeric) {
      out.write('"');
    }

    out.write(cref.toString());

    if(!numeric) {
      out.write('"');
    }
    ++v;
  }
  out.write("]");
}
 
开发者ID:europeana,项目名称:search,代码行数:31,代码来源:SortingResponseWriter.java

示例4: DefaultSortedSetDocValuesReaderState

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
/** Creates this, pulling doc values from the specified
 *  field. */
public DefaultSortedSetDocValuesReaderState(IndexReader reader, String field) throws IOException {
  this.field = field;
  this.origReader = reader;

  // We need this to create thread-safe MultiSortedSetDV
  // per collector:
  topReader = SlowCompositeReaderWrapper.wrap(reader);
  SortedSetDocValues dv = topReader.getSortedSetDocValues(field);
  if (dv == null) {
    throw new IllegalArgumentException("field \"" + field + "\" was not indexed with SortedSetDocValues");
  }
  if (dv.getValueCount() > Integer.MAX_VALUE) {
    throw new IllegalArgumentException("can only handle valueCount < Integer.MAX_VALUE; got " + dv.getValueCount());
  }
  valueCount = (int) dv.getValueCount();

  // TODO: we can make this more efficient if eg we can be
  // "involved" when OrdinalMap is being created?  Ie see
  // each term/ord it's assigning as it goes...
  String lastDim = null;
  int startOrd = -1;

  // TODO: this approach can work for full hierarchy?;
  // TaxoReader can't do this since ords are not in
  // "sorted order" ... but we should generalize this to
  // support arbitrary hierarchy:
  for(int ord=0;ord<valueCount;ord++) {
    final BytesRef term = dv.lookupOrd(ord);
    String[] components = FacetsConfig.stringToPath(term.utf8ToString());
    if (components.length != 2) {
      throw new IllegalArgumentException("this class can only handle 2 level hierarchy (dim/value); got: " + Arrays.toString(components) + " " + term.utf8ToString());
    }
    if (!components[0].equals(lastDim)) {
      if (lastDim != null) {
        prefixToOrdRange.put(lastDim, new OrdRange(startOrd, ord-1));
      }
      startOrd = ord;
      lastDim = components[0];
    }
  }

  if (lastDim != null) {
    prefixToOrdRange.put(lastDim, new OrdRange(startOrd, valueCount-1));
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:48,代码来源:DefaultSortedSetDocValuesReaderState.java

示例5: getSortedSetDocValues

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
@Override
public SortedSetDocValues getSortedSetDocValues(String field) throws IOException {
  final SortedSetDocValues sortedSetDocValues = in.getSortedSetDocValues(field);
  if (sortedSetDocValues == null) {
    return null;
  }
  return new SortedSetDocValues() {

    private boolean _access;

    @Override
    public void setDocument(int docID) {
      try {
        if (_access = _accessControl.hasAccess(ReadType.SORTED_SET_DOC_VALUE, docID)) {
          sortedSetDocValues.setDocument(docID);
        }
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    }

    @Override
    public long nextOrd() {
      if (_access) {
        return sortedSetDocValues.nextOrd();
      }
      return NO_MORE_ORDS;
    }

    @Override
    public void lookupOrd(long ord, BytesRef result) {
      if (_access) {
        sortedSetDocValues.lookupOrd(ord, result);
      } else {
        result.bytes = BinaryDocValues.MISSING;
        result.length = 0;
        result.offset = 0;
      }
    }

    @Override
    public long getValueCount() {
      return sortedSetDocValues.getValueCount();
    }
  };
}
 
开发者ID:apache,项目名称:incubator-blur,代码行数:47,代码来源:SecureAtomicReader.java

示例6: DefaultSortedSetDocValuesReaderState

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
/** Creates this, pulling doc values from the specified
 *  field. */
public DefaultSortedSetDocValuesReaderState(IndexReader reader, String field) throws IOException {
  this.field = field;
  this.origReader = reader;

  // We need this to create thread-safe MultiSortedSetDV
  // per collector:
  topReader = SlowCompositeReaderWrapper.wrap(reader);
  SortedSetDocValues dv = topReader.getSortedSetDocValues(field);
  if (dv == null) {
    throw new IllegalArgumentException("field \"" + field + "\" was not indexed with SortedSetDocValues");
  }
  if (dv.getValueCount() > Integer.MAX_VALUE) {
    throw new IllegalArgumentException("can only handle valueCount < Integer.MAX_VALUE; got " + dv.getValueCount());
  }
  valueCount = (int) dv.getValueCount();

  // TODO: we can make this more efficient if eg we can be
  // "involved" when OrdinalMap is being created?  Ie see
  // each term/ord it's assigning as it goes...
  String lastDim = null;
  int startOrd = -1;
  BytesRef spare = new BytesRef();

  // TODO: this approach can work for full hierarchy?;
  // TaxoReader can't do this since ords are not in
  // "sorted order" ... but we should generalize this to
  // support arbitrary hierarchy:
  for(int ord=0;ord<valueCount;ord++) {
    dv.lookupOrd(ord, spare);
    String[] components = FacetsConfig.stringToPath(spare.utf8ToString());
    if (components.length != 2) {
      throw new IllegalArgumentException("this class can only handle 2 level hierarchy (dim/value); got: " + Arrays.toString(components) + " " + spare.utf8ToString());
    }
    if (!components[0].equals(lastDim)) {
      if (lastDim != null) {
        prefixToOrdRange.put(lastDim, new OrdRange(startOrd, ord-1));
      }
      startOrd = ord;
      lastDim = components[0];
    }
  }

  if (lastDim != null) {
    prefixToOrdRange.put(lastDim, new OrdRange(startOrd, valueCount-1));
  }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:49,代码来源:DefaultSortedSetDocValuesReaderState.java

示例7: SortedSetDocValuesReaderState

import org.apache.lucene.index.SortedSetDocValues; //导入方法依赖的package包/类
/** Create an instance, scanning the {@link
 *  SortedSetDocValues} from the provided reader and
 *  {@link FacetIndexingParams}. */
public SortedSetDocValuesReaderState(FacetIndexingParams fip, IndexReader reader) throws IOException {

  this.field = fip.getCategoryListParams(null).field + FACET_FIELD_EXTENSION;
  this.separator = fip.getFacetDelimChar();
  this.separatorRegex = Pattern.quote(Character.toString(separator));
  this.origReader = reader;

  // We need this to create thread-safe MultiSortedSetDV
  // per collector:
  topReader = SlowCompositeReaderWrapper.wrap(reader);
  SortedSetDocValues dv = topReader.getSortedSetDocValues(field);
  if (dv == null) {
    throw new IllegalArgumentException("field \"" + field + "\" was not indexed with SortedSetDocValues");
  }
  if (dv.getValueCount() > Integer.MAX_VALUE) {
    throw new IllegalArgumentException("can only handle valueCount < Integer.MAX_VALUE; got " + dv.getValueCount());
  }
  valueCount = (int) dv.getValueCount();

  // TODO: we can make this more efficient if eg we can be
  // "involved" when OrdinalMap is being created?  Ie see
  // each term/ord it's assigning as it goes...
  String lastDim = null;
  int startOrd = -1;
  BytesRef spare = new BytesRef();

  // TODO: this approach can work for full hierarchy?;
  // TaxoReader can't do this since ords are not in
  // "sorted order" ... but we should generalize this to
  // support arbitrary hierarchy:
  for(int ord=0;ord<valueCount;ord++) {
    dv.lookupOrd(ord, spare);
    String[] components = spare.utf8ToString().split(separatorRegex, 2);
    if (components.length != 2) {
      throw new IllegalArgumentException("this class can only handle 2 level hierarchy (dim/value); got: " + spare.utf8ToString());
    }
    if (!components[0].equals(lastDim)) {
      if (lastDim != null) {
        prefixToOrdRange.put(lastDim, new OrdRange(startOrd, ord-1));
      }
      startOrd = ord;
      lastDim = components[0];
    }
  }

  if (lastDim != null) {
    prefixToOrdRange.put(lastDim, new OrdRange(startOrd, valueCount-1));
  }
}
 
开发者ID:jimaguere,项目名称:Maskana-Gestor-de-Conocimiento,代码行数:53,代码来源:SortedSetDocValuesReaderState.java


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