在我的数据库中,帖子可以有零(0)个或更多类别,以数组表示。
当我执行查询时,要在这些类别中查找并传递一些值:
{
"query": {
"bool": {
"should": {
"terms": {
"categories": ["First", "Second", "And so on"]
}
}
}
}
}
而且效果很好,我有期望的记录。但是问题出在我想包括那些帖子,其中类别是一个空数组([])。
我正在从旧版本的ES(1.4.5)升级到版本6.3.2,并且此代码是使用“ missing”(已弃用)制作的。
我尝试更改映射,添加著名的"null_value": "NULL"
,然后进行查询,但是没有用。
还尝试过将must与must_not结合使用,如升级“ missing”的建议,但没有用。
我该如何实现?这意味着如果我已经建立索引:
Post.new(id: 1, title: '1st', categories: [])
Post.new(id: 2, title: '2nd', categories: ['news', 'tv'])
Post.new(id: 3, title: '3rd', categories: ['tv', 'trending'])
Post.new(id: 4, title: '4th', categories: ['movies'])
Post.new(id: 5, title: '5th', categories: ['technology', 'music'])
结果应返回1、2和3的帖子-以“新闻”,“电视”或空数组为类别的帖子。
答案 0 :(得分:2)
可以使用constructor(props) {
super(props);
this.state = {};
this.selectedOpacity = this.selectedOpacity.bind(this);
}
中的onPress={this.selectedOpacity}
复制缺少的内容。您必须修改查询,如下所示:
exists
您可以阅读有关here的信息。