T - model typepublic class TriePrefixIndex<T extends Serializable> extends Object implements PrefixIndex<T>, SubwordHighlighter
| Modifier and Type | Class and Description |
|---|---|
static class |
TriePrefixIndex.TriePrefixIndexFiltered<T extends Serializable>
View on a
TriePrefixIndex where all result lists are filtered by
a target predicate function. |
static class |
TriePrefixIndex.TriePrefixIndexListDecorator<T extends Serializable>
Decorator implementation of
PrefixIndexListDecorator for
TriePrefixIndex. |
static class |
TriePrefixIndex.TriePrefixIndexListDecoratorFiltered<T extends Serializable>
Decorator implementation of
PrefixIndexListDecorator for
TriePrefixIndex.TriePrefixIndexFiltered. |
| Constructor and Description |
|---|
TriePrefixIndex(Function<T,String> stringSplitterFunction)
Create prefix index with default query splitter.
|
TriePrefixIndex(WordSplitter<T> dataWordSplitter)
Create prefix index with default query splitter.
|
TriePrefixIndex(WordSplitter<T> dataWordSplitter,
StringWordSplitter<String> searchWordSplitter)
Create prefix index.
|
TriePrefixIndex(WordSplitter<T> dataWordSplitter,
WordSplitter<String> searchWordSplitter,
SubwordHighlighter highlighter)
Create prefix index.
|
| Modifier and Type | Method and Description |
|---|---|
void |
createIndex(Collection<T> models)
Create or recreate prefix index.
|
PrefixIndexListDecorator<T> |
decorateAsList()
Get an instance of
PrefixIndex which also implements the
List interface. |
List<T> |
getAll()
Get all model entries in the index as list (in the same order they were
in the collection iterator on index building).
|
TriePrefixIndex.TriePrefixIndexFiltered<T> |
getFilteredView(Predicate<T> filterFunction)
Get a view on the current prefix index which only returns models matching
the given filter predicate.
|
HighlightedString |
getHighlighted(String modelValue,
String query)
Highlight the hits from a prefix query in a model value String.
|
HighlightedString |
getHighlightedHtml(String modelValue,
String query)
Highlight the hits from a prefix query in a model value String with HTML.
|
HighlightedString |
highlightSubwordPrefixes(String value,
Set<String> queryWords)
Search value String for prefixes in query words and highlight in original
String.
|
HighlightedString |
highlightSubwordPrefixesWithHtml(String value,
Set<String> queryWords)
Search value String (with HTML tags) for prefixes in query words and highlight in original
String.
|
List<T> |
search(String query)
Search the index for a query string and return a list of indexed models,
which match the query prefix criteria.
|
List<T> |
search(String query,
long maxSize)
Search the index for a query string and return a list of indexed models,
which match the query prefix criteria.
|
List<T> |
searchExact(String query)
Search the index for a query string and return a list of indexed models,
which match the query criteria.
|
Stream<T> |
searchStream(String query)
Search the index for a query string and return a stream of indexed
models, which match the query prefix criteria.
|
String |
toString() |
public TriePrefixIndex(Function<T,String> stringSplitterFunction)
stringSplitterFunction - splitter function to get a search String from a model instancepublic TriePrefixIndex(WordSplitter<T> dataWordSplitter)
dataWordSplitter - splitter function to get a set of search words from a model
instancepublic TriePrefixIndex(WordSplitter<T> dataWordSplitter, StringWordSplitter<String> searchWordSplitter)
dataWordSplitter - splitter function to get a set of search words from a model
instancesearchWordSplitter - splitter function to get query words from a query string adn
also for highlightingpublic TriePrefixIndex(WordSplitter<T> dataWordSplitter, WordSplitter<String> searchWordSplitter, SubwordHighlighter highlighter)
dataWordSplitter - splitter function to get a set of search words from a model
instancesearchWordSplitter - splitter function to get query words from a query stringhighlighter - highlighter for highlighting of matches prefixespublic void createIndex(Collection<T> models)
PrefixIndexcreateIndex in interface PrefixIndex<T extends Serializable>models - collection of models to indexpublic Stream<T> searchStream(String query)
PrefixIndexsearchStream in interface PrefixIndex<T extends Serializable>query - query stringpublic List<T> search(String query)
PrefixIndexsearch in interface PrefixIndex<T extends Serializable>query - query stringpublic List<T> search(String query, long maxSize)
PrefixIndexsearch in interface PrefixIndex<T extends Serializable>query - query stringmaxSize - as soon as there are so many entries found, all others are
omittedpublic List<T> searchExact(String query)
PrefixIndexsearchExact in interface PrefixIndex<T extends Serializable>query - query stringpublic List<T> getAll()
PrefixIndexgetAll in interface PrefixIndex<T extends Serializable>public HighlightedString getHighlighted(String modelValue, String query)
PrefixIndexgetHighlighted in interface PrefixIndex<T extends Serializable>modelValue - value to resolve highlights fromquery - query string with prefixes to be highlightedpublic HighlightedString getHighlightedHtml(String modelValue, String query)
PrefixIndexgetHighlightedHtml in interface PrefixIndex<T extends Serializable>modelValue - value to resolve highlights from (with HTML tags)query - query string with prefixes to be highlightedpublic PrefixIndexListDecorator<T> decorateAsList()
PrefixIndexPrefixIndex which also implements the
List interface. The returned instance is completely entangled
with the current object, so that both objects share a state and each trie
operation on one of the objects also affects the other object in the same
way.decorateAsList in interface PrefixIndex<T extends Serializable>public TriePrefixIndex.TriePrefixIndexFiltered<T> getFilteredView(Predicate<T> filterFunction)
PrefixIndexgetFilteredView in interface PrefixIndex<T extends Serializable>filterFunction - filter function to filter search streampublic HighlightedString highlightSubwordPrefixes(String value, Set<String> queryWords)
SubwordHighlighterhighlightSubwordPrefixes in interface SubwordHighlightervalue - value String to split and transformqueryWords - query words to highlight in prefixespublic HighlightedString highlightSubwordPrefixesWithHtml(String value, Set<String> queryWords)
SubwordHighlighterhighlightSubwordPrefixesWithHtml in interface SubwordHighlightervalue - value HTML String to split and transformqueryWords - query words to highlight in prefixesCopyright © 2015 illucIT Software GmbH. All rights reserved.