java - elasticsearch 6 中的模糊建议

标签 java elasticsearch

我正在将我的 java web 应用程序升级到 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();

关于java - elasticsearch 6 中的模糊建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782746/

相关文章:

elasticsearch - ElasticSearch Springboot NativeSearchQueryBuilder问题

java - 游戏绳索 Swing ​​物理学表现得很奇怪

Java:将小程序转换为桌面应用程序

elasticsearch - elasticsearch default_field vs字段的结果不同

java - 使用 Scroll 从 Elasticsearch 检索大量结果需要很长时间

elasticsearch - 处理两个同名的 Puppet 类

java - 如何使用 Java 将具有相同状态的多个对象发送到具有单个对象参数的方法?

java - 如何获得具有线性分布的随机日期?

java - ContentValues 的方法未被模拟

django - Django elasticsearch DSL DRF建议问题