AND运算符在弹性搜索脚本中没有返回结果

时间:2017-02-02 13:04:12

标签: elasticsearch kibana

我有一个字段,其中包含一个字符串中的2-3个项目。 假设该字段为:

       "target" : "one two three"

以下是我的剧本:

       {
          "script": {
            "script": {
              "inline": "doc['target'].value != null && (doc['target'].value.contains('one') || doc['target'].value.contains('two'))"
            }
          }
        }

我使用上面的脚本得到了正确的结果,现在如果我想得到那些目标字段同时具有“one”和“two”两项的记录,那么我只需将操作符更改为AND(&安培;&安培)。

       {
          "script": {
            "script": {
              "inline": "doc['target'].value != null && (doc['target'].value.contains('one') && doc['target'].value.contains('two'))"
            }
          }
        }

但是现在,我没有得到任何结果。我不知道这里有什么问题。请帮忙。

1 个答案:

答案 0 :(得分:0)

如果你将你的陈述分成两部分怎么办:

.map()