如何使用Apache Lucene查找术语的所有偏移位置

时间:2016-11-23 20:23:35

标签: apache indexing lucene offset frequency

我正在尝试查找给定术语的所有偏移位置。比如我输入了:"狗猫橙狗绿狗"我想为术语找到抵消:" dog"。 结果将为:0,15,25。

 Terms terms =  indexReader.getTermVector(0,"text");
 TermsEnum iterator  = terms.iterator();
 BytesRef byteRef = null;

 while((byteRef = iterator.next()) != null) 
     String term = byteRef.utf8ToString(); //here I find term name

 /* Here I only know about term frequency and  first offset(0) for given term not all of them */

假设我有一个术语,在上面编制索引时发生了3次。我想获得包含术语出现的所有偏移的数组。

现在我只为每个术语获得一个偏移量。我如何收集更多信息。我将不胜感激任何帮助。

修改

    FieldType fieldType = new FieldType();

    fieldType.setTokenized(true);
    fieldType.setStoreTermVectors(true);
    fieldType.setStoreTermVectorPositions(true);
    fieldType.setStoreTermVectorOffsets(true);
    fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);

0 个答案:

没有答案