Hello, I am trying to index a txt file and then retrieve it's terms offset
positions. Unfortunately I can only get only one offset information per
term, not all of it(if it occured more than once while indexing) Here are
most important parts of the code:

FieldType used while indexing.

private FieldType getFieldType(){
    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);

    return fieldType;
}

After succesfully creating index, I am using indexReader to read terms.
and iterate through all of them but I have no idea how to collect
theirs offsets.

In earlier versions I would cast to needed vector from TermVector and
get offset List for a concrete term value. Now I stuck on this part of
code:


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

BytesRef byteRef = null;

while((byteRef = iterator.next()) != null) {
    String term = byteRef.utf8ToString();
    if (p.matcher(term).matches())
        searchResult.put(1, term);

    System.out.println("[S]:" + term);
}

I would be grateful for any help!

Reply via email to