我正在Java Java Web App中升级到Elasticsearch 6.0。
在我使用CompletionSuggestionFuzzyBuilder生成建议之前,但是使用最新版本后,该类消失了。我发现我可以创建一个MaMatchQueryBuilder,它将使用模糊性来获取结果:
MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("user", "kimchy");
matchQueryBuilder.fuzziness(Fuzziness.AUTO);
matchQueryBuilder.prefixLength(3);
matchQueryBuilder.maxExpansions(10);
但我不能在建议中使用它。因此,我正在寻找一种使用模糊建议的方法。
最佳答案
我想我已经找到了方法。这是一个解决方案:
SearchResponse suggestRequestBuilder = elasticClient.prepareSearch(index)
.suggest(new SuggestBuilder()
.addSuggestion(
"suggestionsFuzzy",
SuggestBuilders.completionSuggestion("myField")
.prefix(suggestRequest, Fuzziness.AUTO).size(10)
)
).get();