下一个问题是,我的数据结构是这样的: {"editions":['optionA', 'optionB']}
我需要排除此形状的所有结果: {"editions":['optionB']}
但包括此形状的所有结果: {"editions":['optionA']}
或 {"editions":['optionA', 'optionB']}
更清楚的是,我需要排除所有在版本中只有一个条目的结果,他的值是 optionB
明确地。
我一直在尝试这样的事情:
bool: {
must: [
{
query_string: {
default_field: "name",
query: `${params.text}*`
},
}
],
must_not : {
term : { "editions" : "optionB" },
must : {
script : {
script : {
inline: "doc['editions'].values.length < 2",
lang: "painless"
}
}
}
}
}
但没有给出结果。提前谢谢!
警察:我用的是ElasticSearch7*
1条答案
按热度按时间gorkyyrv1#
你的问题是有点混乱的b/c首先你提到
editions
但是你的剧本引用了sections
. 我们走吧editions
然后。。。由于您已经在使用脚本,因此可以执行以下操作: