Join 如何做一个;加入/&引用;子查询";使用弹性搜索?
我是ElasticSearch的新手,我希望能够对索引执行查询,然后索引使用结果的一部分执行另一个查询Join 如何做一个;加入/&引用;子查询";使用弹性搜索?,join,
elasticsearch,subquery,Join,
elasticsearch,Subquery,我是ElasticSearch的新手,我希望能够对索引执行查询,然后索引使用结果的一部分执行另一个查询 例如,我们有一个标签索引,可以查询匹配的标签。该索引包含标识其关联(挂钩)内容的存储字段。每种类型的内容都有自己的索引。我需要能够查询标记匹配,并让它不仅返回标记结果,而且从与它相关联的内容(不同索引)返回存储字段(在本例中为title)。你需要加入这里。Elasticsearch团队建议使用应用程序端。ES通过在应用程序中实现连接来模拟关系数据库: 因此,您可以使用任何ES客户端编写类似的内
例如,我们有一个
标签
索引,可以查询匹配的标签。该索引包含标识其关联(挂钩)内容的存储字段。每种类型的内容都有自己的索引。我需要能够查询标记匹配,并让它不仅返回标记结果,而且从与它相关联的内容(不同索引)返回存储字段(在本例中为title
)。你需要加入这里。Elasticsearch团队建议使用应用程序端。ES通过在应用程序中实现连接来模拟关系数据库:
因此,您可以使用任何ES客户端编写类似的内容
SearchResponse response = client.prepareSearch(scriptVersionFirst)
.setTypes("yourtype")
.setQuery(QueryBuilders.termQuery("multi", "test"))
.setFrom(0).setSize(60).setExplain(true)
.execute()
.actionGet();
if (response != null) {
SearchHits hitList = response.getHits();
if (hitList != null) {
SearchHit[] hits = hitList.hits();
for (SearchHit hit : hits)
MethodPojo source = gson.fromJson(hit.getSourceAsString(), MethodPojo.class);
System.out.println("Found: " + getMethodResultEntity(scriptVersionSecond, hit.getType(), source.getMethodName(), source.getMethodDesc(), source.getRequest()));
}
}
这里函数getMethodResultity返回其他get查询的结果
另外,我在这里使用ES java客户端。有点重。如果您需要java客户端,最好使用jest客户端-对于简单的情况,使用更轻的版本。我想知道是否有办法让elastic search返回连接。如果查看它们,则说明可以将子文档作为搜索请求的结果返回
。我们可以使用ElasticSearch配置单元连接器从ElasticSearch数据存储上的配置单元执行联接操作吗?-我们可以使用ElasticSearch配置单元连接器从ElasticSearch数据存储上的配置单元执行联接操作吗?-可能重复的