ElasticSearch,如何搜索包含特定数组元素的文档

时间:2012-02-01 15:21:41

标签: elasticsearch

我对弹性搜索有一点问题,并想知道是否有人可以帮助我解决它。

我有一个包含元组数组(出版物)的文档。

类似的东西:

    {
       ....

       publications: [
         {
           item1: 385294,
           item2: 11
         },
         {
           item1: 395078,
           item2: 1
         }
       ]

       ....
    }

我遇到的问题是检索包含特定元组的文档,例如(item1 = 395078 AND item2 = 1)。

无论我尝试什么,似乎总是分别对待item1和item2,我没告诉elasticsearch,item1和item2必须在同一个元组中有一个特定的值,而不是整个数组......

我在这里缺少什么东西吗?

由于

1 个答案:

答案 0 :(得分:2)

这是不可能的。 在检查条件之前,ElasticSearch会对数组进行展平。 意思是说 elasticSearch匹配 a = x AND b = y1到[{a = x,b = y},{a = x1,b = y1}],这在常规数组检查中不会发生。

你在这里可以做的是