elasticsearch - Elasticsearch:跨多个索引/别名的全局搜索
问题描述
我们有多个索引,它们代表不同的实体类型,具有明显不同的字段名称(并非所有索引都应该在“全局”搜索方面是可搜索的)。此外,搜索结果应根据索引进行排序(优先级,来自 idx0 的结果应始终“高于”idxN)。
我的想法是对所有索引使用相同的别名(例如“全局”)
POST /_aliases
{
"actions" : [
{ "add" : { "indices" : ["idx0", ... , "idxN"], "alias" : "global" } }
]
}
,并且对于搜索使用这样的查询:
{
"query": {
"query_string": {
"query": "*search term*",
"fields":[
"idx0_field0",
"idx0_field1",
...
"idxN_fieldN",
]
}
}
}
这样,似乎可以在创建别名时指定顺序。
但我怀疑这是一个很好的解决方案。所以我想知道,有没有更好的方法?或者,也许你有任何改进我的技巧?
解决方案
推荐阅读
- django - 在模型中使用 ForeignKey 时如何避免模板中的 NonType 错误?
- api - 我可以创建一个模拟 TCP 服务器吗,类似于用于 http 请求的 Wiremock
- python - Python解释器在重启eclipse时经常重置
- python - waf check_python_headers 使用 pyenv 安装 python 失败
- raspberry-pi4 - RaspberryPi 上的 Modbus TCP/IP 与 PyModBus
- node.js - 位置 0 的 JSON 中的意外令牌/(在 VSCode/NodeJS 中)
- mysql - MariaDB 从选择中插入
- c++ - 类具有内部定义的函数时的链接错误
- ios - 如何将此 .plist 文件直接解析为 Swift 中的对象?
- scala - 将列表缓冲区中的数据帧行变成一列