1

で持っ1 index2 typesElasticsearchます。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 に答える