如何使用ApacheLucene查找术语的所有偏移位置
我试图找到给定术语的所有偏移量。例如,我输入了“dog cat orange dog green dog”,我想找到术语“dog”的偏移量。结果将是:0,15,25如何使用ApacheLucene查找术语的所有偏移位置,apache,indexing,lucene,offset,frequency,Apache,Indexing,Lucene,Offset,Frequency,我试图找到给定术语的所有偏移量。例如,我输入了“dog cat orange dog green dog”,我想找到术语“dog”的偏移量。结果将是:0,15,25 Terms terms = indexReader.getTermVector(0,"text"); TermsEnum iterator = terms.iterator(); BytesRef byteRef = null; while((byteRef = iterator.next()) != null)
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);
你们在索引阶段设置了术语向量位置
true
了吗?嗨,我更新了我的帖子并添加了创建字段类型的代码部分。你知道如何获得conrete term的完整TermVectorOffset吗?你能帮忙吗?你在索引阶段设置了term VectorPositionstrue
吗?嗨,我更新了我的帖子并添加了创建FieldType的代码部分。那么你知道如何得到完整的术语向量偏移量吗?你能帮忙吗?