Я пытаюсь проверить синоним График, но не работает, как я ожидал и не вернул правильный ответ.почему тест SynonymGraphFilter Lucene не работает?
Это пользовательский метод createComponents в моем пользовательском анализаторе
public SuggestAnalizer(SynonymMap synonymMap) {
this.synonymMap = synonymMap;
this.stopList = Collections.emptyList();
}
@Override
protected TokenStreamComponents createComponents(String s) {
Tokenizer tokenizer = new StandardTokenizer();
TokenStream tokenStream = new SynonymGraphFilter(tokenizer, synonymMap, true);
tokenStream = new FlattenGraphFilter(tokenStream);
return new TokenStreamComponents(tokenizer, tokenStream);
}
Это тестовый код
String entrada = "ALCALDE KOOPER";
String salida = "FEDERICO COOPER";
SynonymMap.Builder builder = new SynonymMap.Builder(true);
CharsRef input = SynonymMap.Builder.join(entrada.split(" "), new CharsRefBuilder());
CharsRef output = SynonymMap.Builder.join(salida.split(" "), new CharsRefBuilder());
builder.add(output, input, true);
suggestAnalizer = new SuggestAnalizer(builder.build());
TokenStream tokenStream = suggestAnalizer.tokenStream("field", entrada2);
assertTokenStreamContents(tokenStream, new String[]{
"FEDERICO"
});
assertAnalyzesTo(suggestAnalizer, entrada, new String[]{
"FEDERICO"
});
Я ожидал, что утверждение работы Изменение «алькальд Kooper» строка для ее синоним «Federico COOPER ", но этого не происходит.
Кто-то знает, где моя ошибка или почему мой код не работает?
Пожалуйста, сообщите нам, какая ошибка вы видите. –
@ М.Прохоров. Я ожидал, что работа утверждения изменит строку «ALCALDE KOOPER» для ее синонима «FEDERICO COOPER», но этого не происходит. – Figa17