java - How to use TermVector Lucene 4.0 - Stack Overflow
TextField is a convenience class for users who need indexed fields without term vectors. If you need terms vectors, just use a Field. It takes a few more lines of code since you need to create an instance of FieldType first, set
TextField is a convenience class for users who need indexed fields without term vectors. If you need terms vectors, just use a Field. It takes a few more lines of code since you need to create an instance of FieldType first, set
storeTermVectors
and tokenizer
to true and then use this FieldType
instance in Field
constructor.public class VecTextField extends Field {
/* Indexed, tokenized, not stored. */
public static final FieldType TYPE_NOT_STORED = new FieldType();
/* Indexed, tokenized, stored. */
public static final FieldType TYPE_STORED = new FieldType();
static {
TYPE_NOT_STORED.setIndexed(true);
TYPE_NOT_STORED.setTokenized(true);
TYPE_NOT_STORED.setStoreTermVectors(true);
TYPE_NOT_STORED.setStoreTermVectorPositions(true);
TYPE_NOT_STORED.freeze();
TYPE_STORED.setIndexed(true);
TYPE_STORED.setTokenized(true);
TYPE_STORED.setStored(true);
TYPE_STORED.setStoreTermVectors(true);
TYPE_STORED.setStoreTermVectorPositions(true);
TYPE_STORED.freeze();
}
// TODO: add sugar for term vectors...?
/** Creates a new TextField with Reader value. */
public VecTextField(String name, Reader reader, Store store) {
super(name, reader, store == Store.YES ? TYPE_STORED : TYPE_NOT_STORED);
}
/** Creates a new TextField with String value. */
public VecTextField(String name, String value, Store store) {
super(name, value, store == Store.YES ? TYPE_STORED : TYPE_NOT_STORED);
}
/** Creates a new un-stored TextField with TokenStream value. */
public VecTextField(String name, TokenStream stream) {
super(name, stream, TYPE_NOT_STORED);
}
Read full article from java - How to use TermVector Lucene 4.0 - Stack Overflow
No comments:
Post a Comment