2014-10-05 171 views
1

我想从Java调用远程托管的弹性搜索索引,并根据某些条件从相同索引中获取数据。搜索API弹性搜索索引

帮助我,我是新来的弹性搜索和它的索引机制。

+0

这可以通过简单的步骤来回答,以及谷歌有这个查询的所有答案。可以重新打开一个健康的讨论。 – shaun 2018-01-05 19:02:10

回答

2

第一件事就是你使用java的elasricsearch客户端。用正确的版本

<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>${es.version}</version> 
</dependency> 

二Maven的依赖关系如下通过提供适当的主机ID和端口(9300默认情况下)创建使用TransportClient客户端。

Client client = new TransportClient() 
.addTransportAddress(new InetSocketTransportAddress("host-ip-address", 9300)); 

最后查询结果。例如,匹配查询如下。

QueryBuilder qb = QueryBuilders.matchQuery("location", "india"); 
SearchResponse response = esClient.prepareSearch("index-name").setTypes("type-name") 
    .setQuery(qb) 
    .execute().actionGet(); 

最后,您的响应将具有elasticsearch所需的所有以印度为位置的文档的结果。