public List<String> autoSuggest(String keyword) {
// 1.创建补全条件
SuggestBuilder suggestBuilder = new SuggestBuilder();
SuggestionBuilder suggestionBuilder = SuggestBuilders
.completionSuggestion("列名") //补齐的字段来源
.prefix(keyword) //前缀
.skipDuplicates(true) //去重
.size(10); //补齐选择数量
suggestBuilder.addSuggestion("prefix_suggestion", suggestionBuilder); //请求名称
// 2.发送请求
SearchResponse response = template.suggest(suggestBuilder, IndexCoordinates.of("索引名"));
// 3.处理结果
List<String> result = response
.getSuggest()
.getSuggestion("prefix_suggestion")
.getEntries()
.get(0)
.getOptions()
.stream()
.map(Suggest.Suggestion.Entry.Option::getText)
.map(Text::toString)
.collect(Collectors.toList());
return result;
}
ES自动补齐方法
最新推荐文章于 2024-06-13 09:56:15 发布