Elasticsearch 6中的模糊建议

时间:2018-08-10 09:00:21

标签: java elasticsearch

我正在Java Webapp中升级到Elasticsearch 6.0。

在我使用CompletionSuggestionFuzzyBuilder生成建议之前,但使用最新版本后,该类消失了。我发现我可以创建一个MaMatchQueryBuilder,它将使用模糊性来获取结果:

MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("user", "kimchy");
matchQueryBuilder.fuzziness(Fuzziness.AUTO); 
matchQueryBuilder.prefixLength(3); 
matchQueryBuilder.maxExpansions(10); 

但是我不能在建议中使用它。因此,我正在寻找一种使用模糊建议的方法。

1 个答案:

答案 0 :(得分:1)

我想我已经找到了解决方法。这是一个解决方案:

SearchResponse suggestRequestBuilder = elasticClient.prepareSearch(index)
        .suggest(new SuggestBuilder()
                     .addSuggestion(
                        "suggestionsFuzzy",
                        SuggestBuilders.completionSuggestion("myField")
                            .prefix(suggestRequest, Fuzziness.AUTO).size(10)
                     )
        ).get();