final DictionaryBuilder dictionaryBuilder;
public final Index index;
+ final Set<String> stoplist;
final SortedMap<String, TokenData> tokenToData;
- IndexBuilder(final DictionaryBuilder dictionaryBuilder, final String shortName, final String longName, final Language language, final String normalizerRules, final boolean swapPairEntries) {
+ IndexBuilder(final DictionaryBuilder dictionaryBuilder, final String shortName, final String longName, final Language language, final String normalizerRules, final Set<String> stoplist, final boolean swapPairEntries) {
this.dictionaryBuilder = dictionaryBuilder;
index = new Index(dictionaryBuilder.dictionary, shortName, longName, language, normalizerRules, swapPairEntries);
tokenToData = new TreeMap<String, TokenData>(new NormalizeComparator(index.normalizer(), language.getCollator()));
+ this.stoplist = stoplist;
}
public void build() {
}
}
- public TokenData getOrCreateTokenData(final String token) {
+ private TokenData getOrCreateTokenData(final String token) {
TokenData tokenData = tokenToData.get(token);
if (tokenData == null) {
tokenData = new TokenData(token);
return tokenData;
}
- public List<IndexedEntry> getOrCreateEntries(final String token, final EntryTypeName entryTypeName) {
+ private List<IndexedEntry> getOrCreateEntries(final String token, final EntryTypeName entryTypeName) {
final TokenData tokenData = getOrCreateTokenData(token);
List<IndexedEntry> entries = tokenData.typeToEntries.get(entryTypeName);
if (entries == null) {
public void addEntryWithTokens(final IndexedEntry indexedEntry, final Set<String> tokens,
final EntryTypeName entryTypeName) {
for (final String token : tokens) {
+ if (entryTypeName.overridesStopList || !stoplist.contains(token))
getOrCreateEntries(token, entryTypeName).add(indexedEntry);
}
}