elasticsearch - 弹性:匹配一个数组成员中的所有标记
问题描述
我有一个索引,可以通过他们的名字+角色将多个人分配给一个文档。到目前为止,我们通过将“人员”添加为嵌套文档并将所有相关人员索引到一个文档来实现搜索。
我们对查询性能不满意,我想尝试将嵌套文档从
"people":{
{
"firstName:"Alice",
"lastName: "Aliceson",
"role":"admin"
},
{
"firstName:"Bob",
"lastName: "Bobson",
"role":"creator"
}
}
至
"people": ["Alice Aliceson admin", "Bob Bobson creator"]
我的问题是,当这样查询时,使用 as 运算符的匹配查询and
仍然会找到这些人的文档
"match": {
"people": {
"query": "Aliceson Alice creator",
"operator":"and"
}
}
有没有办法让弹性要求匹配仅一个数组成员中的所有令牌?
或者:有人可以指出我更好的方向吗,我在文档或任何指南中找不到这方面的示例(所有指南都使用嵌套,但文档建议在调整搜索速度时避免嵌套)
解决方案
推荐阅读
- ios - 游戏在 iOS 上不通过 Sockets 连接到服务器,但在其他设备上可以
- regex - ruby 或 rails 中正则表达式中的模式匹配
- javascript - 页面对齐和 div 元素对齐
- python - 如何检查文件行的长度是否只有 2 个字符?
- reactjs - React 应用程序托管在 S3 存储桶中,使用 OKTA OIDC 授权授予 PKCE 流(AuthSdk 错误)
- linux - 在给定的数字范围内查找素数
- python - 使用 selenium/python 测试动态内容网站
- c++ - 如何最好地使用智能指针修复我的内存泄漏?
- python - 创建密码生成器
- php - 当我将分页链接回显到 html 时,如何修复 Method Illuminate\Support\Collection::links 不存在(错误)?