elasticsearch - Elasticsearch Completion Suggester 忽略 Index 参数并返回多个索引的结果
问题描述
我正在使用 Elastic 的 PHP 实现来使用这样的 Completion Suggester:
$params_organisations = [
'index' => $this->organisation_index,
'body' => [
"suggest" => [
"suggestions" => [
'prefix' => $request->q,
"completion" => [
"field" => "suggest1",
"fuzzy" => ["fuzziness" => 0],
"skip_duplicates" => "false",
"size" => 7
]
]
]
]
];
但是,响应还包含其他索引:
suggest: {suggestions: Array(1)}
timed_out: false
took: 8
_shards:
failed: 3
failures: Array(3)
0:
index: ".kibana_1"
node: "xxxxxxxxx"
reason: {type: "illegal_argument_exception", reason: "no mapping found for field [suggest1]"}
我担心这可能会影响性能,因为其他一些索引也包含一个suggest1
, 字段并且它们被搜索并返回结果。我没有更改名称,有时我想以类似的方式处理建议字段,但是跨索引具有相同的建议类型字段名称是否有问题?
或者有没有办法更明确地定义索引?我也尝试将索引名称附加到端点,但结果相同。我在 PHP 实现中找到了一个明确的建议端点,但它似乎已被弃用?任何帮助深表感谢!
解决方案
好的,所以问题不在于 ElasticSearch,事实证明来自配置的索引字符串没有被正确处理,产生一个空字符串,导致 Elastic 查询所有索引。
推荐阅读
- javascript - react-native-web 如何配置 webpack
- python - Pandas:基于跨 2 列的条件按组进行行比较
- css - 增加移动 shopify 上的横幅宽度
- r - 使用“tidyverse”在重复测量设计中有效去除“NAs”
- reactjs - 我究竟做错了什么?- Uncaught TypeError: Object(...) is not a function - React GraphQL
- java - 在Android中使用绝对路径获取内部和外部存储中所有文件(每个文件)的列表
- sql - postgresql中的非重复列
- firebase - 仅为 Firebase 中的新用户运行 A/B 实验
- ios - 每次加载视图时是否只能调用一次 layoutIfNeeded - 例如 viewDidLoad?
- javascript - 无法到达 POST RESPONSE json - ReactJS、NodeJS