Open tianxia0079 opened 8 months ago
以下是7版本的代码,可是换成8网上找不到最新版本的教程。麻烦实现参考以下。谢谢
public class ElasticsearchClient { private static final String INDEX_NAME = "my_index"; private static final String FIELD_NAME = "suggestion_field"; private RestHighLevelClient client; public ElasticsearchClient(String hostname, int port) { client = new RestHighLevelClient( RestClient.builder(new HttpHost(hostname, port, "http"))); } public List<String> getSuggestions(String input) throws IOException { SearchRequest searchRequest = new SearchRequest(INDEX_NAME); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); CompletionSuggestionBuilder completionSuggestionBuilder = new CompletionSuggestionBuilder(FIELD_NAME); completionSuggestionBuilder.prefix(input); completionSuggestionBuilder.size(5); // Limit the number of suggestions SuggestBuilder suggestBuilder = new SuggestBuilder(); suggestBuilder.addSuggestion("suggest", completionSuggestionBuilder); searchSourceBuilder.suggest(suggestBuilder); searchRequest.source(searchSourceBuilder); SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); Suggest suggest = searchResponse.getSuggest(); CompletionSuggestion suggestion = suggest.getSuggestion("suggest"); List<String> suggestions = suggestion .getEntries() .stream() .flatMap(e -> e.getOptions().stream()) .map(option -> option.getText().string()) .collect(Collectors.toList()); return suggestions; } }
以下是7版本的代码,可是换成8网上找不到最新版本的教程。麻烦实现参考以下。谢谢