我正在尝试使用Java API在ElasticSearch中运行特定搜索。它运作良好,但我需要使用雪球分析仪。
我真正想要的是实现这种搜索: http://localhost:9200/myindex/myfeed/_search?q=myterm:myvalue&analyzer=myanalyzer 使用Java API。
我正在使用具有许多不同类型查询的TransportClient(已过滤,匹配全部,文本)。我正在批量运行多个搜索查询。
我没有在SearchRequestBuilder中看到任何与分析器相关的内容。我在找错了地方吗?
答案 0 :(得分:5)
您的请求将转换为
client.prepareSearch("myindex", "myfeed")
.setQuery(
QueryBuilders.queryString("myterm:myvalue")
.analyzer("myanalyzer")
)
.execute()
.actionGet();
一般情况下,当您遇到将Rest API请求转换为JavaAPI请求的问题时,请查看Rest ??? Action类,其中???是您的请求的名称。例如,如果您想了解有关构建搜索请求的更多信息,请查看RestSearchAction.java。您还可以在elasticsearch integration tests中找到许多java API示例。