我有一个字段,其中包含2-3个项目在一个字符串。假设该字段为:
"target" : "one two three"下面是我的脚本:
{
"script": {
"script": {
"inline": "doc['target'].value != null && (doc['target'].value.contains('one') || doc['target'].value.contains('two'))"
}
}
}我使用上面的脚本得到了正确的结果,现在如果我想要获得目标字段中包含两个项的记录-“一”和“二”,所以我只需将操作符更改为AND(&&)就可以编写下面的脚本。
{
"script": {
"script": {
"inline": "doc['target'].value != null && (doc['target'].value.contains('one') && doc['target'].value.contains('two'))"
}
}
}但是现在,我没有得到任何结果。我不明白问题出在哪里。请帮帮忙。
发布于 2017-02-02 21:13:25
如果你把你的语句一分为二会怎么样:
{
"script": {
"script": {
"inline": "doc['target'].value != null && (doc['target'].value.contains('one'); doc['target'].value != null && doc['target'].value.contains('two'))"
}
}
}https://stackoverflow.com/questions/42002995
复制相似问题