Elasticsearch 搜索 Java API

3

我已经有了一个可以工作的ElasticSearch查询,但是我在使用ElasticSearch的Java API执行相同查询时遇到了问题。

如何使用ElasticSearch的Java API表达以下查询?

http://localhost:9200/mongoindex/files/_search?q=anyword&fields=file.file

您使用的是哪个ES客户端版本以及ES Java API版本? - ruhungry
2个回答

8
这种类型的查询使用查询字符串查询。Java代码应该如下所示:

SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(client);
searchRequestBuilder.setIndices("mongoindex");
searchRequestBuilder.setTypes("files");
QueryStringQueryBuilder queryStringQueryBuilder = new QueryStringQueryBuilder("anyword");
queryStringQueryBuilder.field("file.file");
searchRequestBuilder.setQuery(queryStringQueryBuilder);
SearchResponse response = searchRequestBuilder.execute().actionGet();

2
感谢您的回复!
以下内容可能会更好:
感谢您的反馈!
SearchRequestBuilder searchRequestBuilder = client.prepareSearch()
            .setIndices("mongoindex")
            .setTypes("files")
            .setQuery(QueryBuilders.queryString("anyword"))
            .addField("file.file");

    SearchResponse response = searchRequestBuilder.execute().actionGet();

    System.out.println(response.toString());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接