Class DocumentValueSourceDictionary
- All Implemented Interfaces:
Dictionary
Dictionary with terms and optionally payload and
optionally contexts information
taken from stored fields in a Lucene index. Similar to
DocumentDictionary, except it obtains the weight
of the terms in a document based on a LongValuesSource.
- The term field has to be stored; if it is missing, the document is skipped.
- The payload and contexts field are optional and are not required to be stored.
In practice the LongValuesSource will likely be obtained
using the lucene expression module. The following example shows
how to create a LongValuesSource from a simple addition of two
fields:
Expression expression = JavascriptCompiler.compile("f1 + f2");
SimpleBindings bindings = new SimpleBindings();
bindings.add(new SortField("f1", SortField.Type.LONG));
bindings.add(new SortField("f2", SortField.Type.LONG));
LongValuesSource valueSource = expression.getDoubleValuesSource(bindings).toLongValuesSource();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) final classNested classes/interfaces inherited from class org.apache.lucene.search.suggest.DocumentDictionary
DocumentDictionary.DocumentInputIterator -
Field Summary
FieldsFields inherited from class org.apache.lucene.search.suggest.DocumentDictionary
contextsField, payloadField, reader -
Constructor Summary
ConstructorsConstructorDescriptionDocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource) Creates a new dictionary with the contents of the fields namedfieldfor the terms and uses theweightsValueSourcesupplied to determine the score.DocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource, String payload) Creates a new dictionary with the contents of the fields namedfieldfor the terms,payloadFieldfor the corresponding payloads and uses theweightsValueSourcesupplied to determine the score.DocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource, String payload, String contexts) Creates a new dictionary with the contents of the fields namedfieldfor the terms,payloadfor the corresponding payloads,contextsfor the associated contexts and uses theweightsValueSourcesupplied to determine the score. -
Method Summary
Modifier and TypeMethodDescriptionReturns an iterator over all the entries
-
Field Details
-
weightsValueSource
-
-
Constructor Details
-
DocumentValueSourceDictionary
public DocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource, String payload, String contexts) Creates a new dictionary with the contents of the fields namedfieldfor the terms,payloadfor the corresponding payloads,contextsfor the associated contexts and uses theweightsValueSourcesupplied to determine the score. -
DocumentValueSourceDictionary
public DocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource, String payload) Creates a new dictionary with the contents of the fields namedfieldfor the terms,payloadFieldfor the corresponding payloads and uses theweightsValueSourcesupplied to determine the score. -
DocumentValueSourceDictionary
public DocumentValueSourceDictionary(IndexReader reader, String field, LongValuesSource weightsValueSource) Creates a new dictionary with the contents of the fields namedfieldfor the terms and uses theweightsValueSourcesupplied to determine the score.
-
-
Method Details
-
getEntryIterator
Description copied from interface:DictionaryReturns an iterator over all the entries- Specified by:
getEntryIteratorin interfaceDictionary- Overrides:
getEntryIteratorin classDocumentDictionary- Returns:
- Iterator
- Throws:
IOException
-