node.js - 弹性搜索索引数据中的多个字段
问题描述
我在节点 js 中使用 monogsastic npm 进行弹性搜索。我想查询多个字段。我要使用的条件是这个字段或那个字段。
我成功地使用一个字段进行搜索
var userfollowers =['5c5bbc7c18425d3f440e82aa','5c5f7ef118425d3f440f5cec','5c6c22820c384e6f2cd65f31','5ca11df654572d6b67998591','5c9e296054572d6b6798f2bf','5ca2f87ee9131074001491b5','5ca1d1d554572d6b6799cb51'];
var topics = [ 'adaptive signal processing','amplifiers','biomedical equipment','business','chemical technology','imaging'];
Paperupload.esSearch({
from:from,
size:size,
query:{
"terms" : {
"userId._id": userfollowers
}
},
sort:{
"createdAt":{
"order" : "desc"
}
}
},
function(err, results) {
console.log("err",err)
console.log("result:",results)
}
还需要在索引数据的内容字段中搜索主题。要应用的条件是 OR(userFollowers 或内容中的主题)
解决方案
Paperupload.esSearch({
query:{
bool:{
"must": {
"bool" : { "should": [{terms : {"userId._id": followersDetail}},{terms : {"topics.topic_name": topi}}] }
}
}
},
sort:{
"createdAt":{
"order" : "desc"
}
}
},
{
from:from,
size:size,
},
function(err, results) {
})
推荐阅读
- oracle - 将变量从 bash 脚本传递到 Oracle SQL*Plus
- visual-studio-code - VSCode:如何将键盘快捷键绑定到 setting.json 条目
- javascript - 使用 jquery 在单个 div/视频上播放多个视频列表
- ruby-on-rails - 如何将 ruby-v 链接到 asdf?
- amazon-dynamodb - DynamoDB Go SDK UpdateExpression 不接受简单的加法语句
- python - 如何从 TwitchAPI 获取身份验证令牌和刷新令牌
- symfony - Symfony [错误] 数据库模式与当前映射文件不同步?
- javascript - VueJS:如何返回 3 个新数组,每个数组中的项目数量相等,除了最后一个数组?
- powershell - 如何使用 PowerShell 和 selenium 从下拉菜单中获取选项和值
- python - 如何在 Pandas Merge 操作期间应用过滤条件但将它们保留在结果 DF 中?