3

我正在尝试使用 Java API 在 ElasticSearch 中运行特定搜索。它运作良好,但我需要使用雪球分析仪。

我真正想要的是使用 Java API实现这种搜索: http://localhost:9200/myindex/myfeed/_search?q=myterm:myvalue&analyzer=myanalyzer 。

我正在使用具有许多不同类型查询(过滤、全部匹配、文本)的 TransportClient。我正在批量运行多个搜索查询。

我在 SearchRequestBuilder 中看不到任何与分析器相关的内容。我找错地方了吗?

4

1 回答 1

5

您的请求将转化为

    client.prepareSearch("myindex", "myfeed")
            .setQuery(
                    QueryBuilders.queryString("myterm:myvalue")
                            .analyzer("myanalyzer")
            )
            .execute()
            .actionGet();

通常,当您在将 Rest API 请求转换为 JavaAPI 请求时遇到问题时,请查看 Rest???Action 类,其中 ??? 是您的请求的名称。例如,如果您想了解有关构建搜索请求的更多信息,请查看RestSearchAction.java。您还可以在 elasticsearch集成测试中找到许多 java API 示例。

于 2012-04-20T02:55:13.457 回答