1

1 index有. 2 types_ Elasticsearch我想查询type1不存在的所有记录type2

SQL 等价物类似于;

SELECT * FROM index/type1 AS t1 WHERE t1.uid NOT IN (SELECT t2.uid FROM index/type2 AS t2)

关于如何解决这个问题的任何建议?我正在使用 elasticsearch-2.2.0 (Java API)。谢谢!

4

1 回答 1

0

您尝试做的事情绝对不可能使用 Elasticsearch,因为它不是关系存储
有可能避免明确传递术语,但它们应该出现在某些文档的某些字段中(术语查找):

{
  "bool": {
    "must_not": {
      "term": {
        "uid": {
          "index": "document-index",
          "type": "document-type",
          "id": "document-id",
          "path": "path-to-the-array-property-containing-the-terms"
        }
      }
    }
  }
}
于 2016-03-21T17:03:50.533 回答