获取儿童证件

时间:2019-01-25 15:23:40

标签: elasticsearch

我有一个Elasticsearch索引。该索引中的每个文档都有一个数字(即1、2、3等)和一个名为ChildDocumentIds的数组。也有其他属性。尽管如此,此数组中的每个项目都是与该文档相关的文档的_id

我有一个名为“子文档”的保存搜索。我想使用数字(即1、2、3等)并获取与其关联的子文档。

在Elastisearch中有没有办法做到这一点?我似乎找不到为此目的在Elasticsearch中进行关系类型查询的方法。我知道会很慢,但是我很好。接着就,随即。

1 个答案:

答案 0 :(得分:1)

terms query允许您执行此操作。如果文档#1000具有子文档3、12和15,则以下两个查询将返回相同的结果:

"terms" : { "_id" : [3, 12, 15] }

和:

"terms" : { 
  "_id" : {
    "index" : <parent_index>,
    "type" : <parent_type>,
    "id" : 1000,
    "path" : "ChildDocumentIds"
  }
}

之所以要求您指定索引并再次输入,是因为术语查询支持交叉索引查找。