在elasticsearch

时间:2016-01-07 00:08:12

标签: elasticsearch pyelasticsearch

我有两个文件存储在elasticsearch数据库

一个是

{
   q :["python" , "foo"]
}

和其他是

{
   q :["python" , "moo","foo"]
}

现在我的问题是search文档,其中python位于索引0foo位于索引1上,如何实现此目标? 我已阅读bool elasticsearch查询user,但无法弄清楚如何使用它,请帮忙!

1 个答案:

答案 0 :(得分:1)

您可以使用scripting执行此操作,尝试此操作

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "script": {
                "script": "_source.q[0] == \"python\" && _source.q[1] == \"foo\" "
              }
            }
          ]
        }
      }
    }
  }
}

虽然建议使用document fields,因为它们已加载到内存中并且可以快速访问但是未订购。请参阅this,因此在这种情况下,我们需要使用_source