使用Java API时如何在ElasticSearch中使用特定的分析器

Ale*_*ron 3 java elasticsearch

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

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

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

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

imo*_*tov 5

您的请求将转化为

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

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