对于所有搜索,Jest-client 使用 uri 进行初始化,如下所示:
http://serverIp:serverPort _all/_search
如何使用 uri 初始化客户端,如下所示?
http://serverIp:serverPort _all/_suggest
我在 Ipas JestClient 和一个单词的方法中使用以下代码:
String suggestionName = "custom-suggestion-3";
Suggest suggest = new Suggest.Builder("{" +
" \"" + suggestionName + "\" : {" +
" \"text\" :" + "\"" + wordToSearch + "\""+
" \"term\" : {" +
" \"field\" : \"description\"" +
" }" +
" }" +
"}").build();
SuggestResult result = client.execute(suggest);
但是,它会产生错误
java.lang.NoSuchMethodError: io.searchbox.client.http.JestHttpClient.getElasticSearchServer()Ljava/lang/String; ' 在 client.execute(建议)期间。
在调试期间,我复制了建议变量的值并将其粘贴到Sense中,它按预期工作。
我正在使用以下 Maven 依赖项_all/_search
<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest</artifactId>
<version>0.1.2</version>
</dependency>
正在运行的弹性版本是 5.0.1,对于 Suggest,已导入以下依赖项。
<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest-common</artifactId>
<version>2.0.0</version>
</dependency>
有什么建议么?