elasticsearch - Elasticsearch 不能识别词组?
问题描述
terms or keywords
我正在尝试计算从我指定的查询中发生了多少次或多少个文档
这是我的“内容”字段的映射
这是我的聚合查询:
"aggs" => [
"KEYWORDS" => [
"filters" => [
"filters" => [
"term1" => [
"term" => [
'content' => "isko"
]
],
"term2" => [
"term" => [
'content' => "manila"
]
]
]
]
]
]
这是回应:
我几乎接近我想要的输出,但是当我想要正确的短语/关键字时,Elasticsearch 无法识别它
"aggs" => [
"KEYWORDS" => [
"filters" => [
"filters" => [
"term1" => [
"term" => [
'content' => "mayor isko moreno"
]
],
"term2" => [
"term" => [
'content' => "mayor vico sotto"
]
]
]
]
]
]
回复
这是否意味着 Elasticsearch 无法识别短语?
这是我的整个查询: 我的 ES 查询
解决方案
从文档:
返回在提供的字段中包含确切术语的文档。
术语查询不解析查询字符串,它正在寻找完全匹配。但是,您的字符串似乎已使用默认分析器进行了索引(我假设您的单个单词查询按预期工作)。意思是他们的内容松散地存储为“单个单词”。
您需要查询未分析的content.keyword
字段以获得整个短语的完全匹配。
推荐阅读
- vaadin - Vaadin Grid recalculateColumnWidths 问题 - 如何使其更加一致
- assembly - 打印时访问超出字符串范围的内存
- r - 在 dplyr::mutate 中包装 purrr::map 时的奇怪行为
- sql - 如何根据传递的参数增加/减少列值?
- json - 使用传单和淡入淡出在地图上显示数据
- api - 是否有我可以调用的 Superset API 来管理(添加/修改/删除)Superset 中的用户、角色权限?
- excel-formula - 请修复这个excel公式
- javascript - 如何将 javascript 模板文字输出到控制台
- python - 为什么我在 PostgreSQL 中得到不同的时区
- php - 使用 $citizenid 时无法从 mysql 获取数据