您可以在ElasticSearch中逻辑嵌套查询,因此一个查询的输出是另一个查询的输入。 另一种要问的方法是如何将查询链接或管道化?
这应该类似于SQL中的IN运算符或子查询
即: - 选择au_lname,au_fname,title from (从pubs.dbo.authors中选择au_lname,au_fname,au_id 其中state =' CA') 或
SELECT Name 来自AdventureWorks2008R2.Production.Product 在哪里ListPrice = (SELECT ListPrice 来自AdventureWorks2008R2.Production.Product 名称='链环螺栓' );
答案 0 :(得分:15)
Elasticsearch不支持子查询;您需要执行第一个查询,然后使用第一个查询的结果作为输入构建第二个查询。
答案 1 :(得分:0)
这是完全正确的,您必须使用您喜欢的编程语言编写子查询。可以在这里找到一个例子:
http://www.sebastianviereck.de/en/elasticsearch-subquery-scoring-optimization/
答案 2 :(得分:0)
弹性搜索不支持此功能,您必须对数据进行规范化,并在一个设置中包含所需的所有字段