代码之家  ›  专栏  ›  技术社区  ›  Christophe

弹性搜索中的模糊建议6

  •  0
  • Christophe  · 技术社区  · 6 年前

    我正在升级到我的java webapp中的elasticsearch 6.0。

    在我使用CompletionSuggestionFuzzyBuilder构建建议之前,这个类在最新版本中已经不存在了。我发现我可以创建一个MaMatchQueryBuilder,它将使用模糊性来获得结果:

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

    但我不能用它来提建议。所以我在寻找一种使用模糊建议的方法。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Christophe    6 年前

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

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