我想从Java调用远程托管的弹性搜索索引,并根据某些条件从同一索引中获取数据。
帮助我,我是Elastic search及其索引机制的新手。
答案 0 :(得分:2)
首先,您将使用elasricsearch客户端进行java。使用正确的版本
,maven依赖如下<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${es.version}</version>
</dependency>
通过提供适当的主机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所需的所有文档,其中包含印度作为位置的所有文档。