我有一个在 Angular js、Node.js、MongoDB 中开发的具有弹性搜索集成的聊天应用程序。我为聊天提供了搜索功能,用户可以输入任何组合。选项是聊天消息、用户和日期。
所以我想在 nodejs 的帮助下使用多个字段组合在弹性搜索数据库中进行搜索。例如,1) 使用 username='mohan' 和 date='anydate' 进行搜索,2) username='mohan' 和 chatmessage='Hi there'。
所以结果应该同时满足这两个条件。
我们如何使用 mongoosastic 实现这一目标?我尝试使用以下查询。但它给出了 OR 条件的结果,我想要 AND 条件。
{
"query": {
"bool": {
"should": [{
"match": {
"feedMsg": "Hi there"
}
}, {
"match": {
"userId": 'mohan'
}
}, {
"range": {
"feedTime": {
"from": '27/10/2016',
"to": '27/10/2016'
}
}
}]
}
}
}