elasticsearch - 为什么字段列表在新的 search-as-you-type 数据类型中包含原始字段的 2 克和 3 克子字段?
问题描述
我正在浏览最近引入的数据类型的 ES文档search-as-you-type
。
映射定义如下所示:
PUT my-index-000001
{
"mappings": {
"properties": {
"my_field": {
"type": "search_as_you_type"
}
}
}
}
这是查询的样子:
GET my-index-000001/_search
{
"query": {
"multi_match": {
"query": "brown f",
"type": "bool_prefix",
"fields": [
"my_field",
"my_field._2gram",
"my_field._3gram"
]
}
}
}
myfield._2gram
现在,我不明白为什么我们需要myfield._3gram
明确提及?myfield
当在字段列表中指定时,ES 不应该在这些子字段中匹配吗?
如果我有多个字段,例如 , firstName
, lastName
,bio
那么我是否应该像上面的查询一样为每个字段提及 2-gram 和 3-gram 字段?
解决方案
推荐阅读
- node.js - next() 在中间件中的使用
- c# - 在 asp.net mvc 5 中具有不同控制器的独特 slug 路由
- php - Flutter Laravel:使用 Dio 和 ImagePicker 上传图片
- swift - Swift ui macOS 在特定 url 上打开一个新的 google chrome 窗口隐身
- oracle - 如何修改查询并在 WHERE 语句中添加 IF/ELSE
- excel - 在 Excel 工作表中创建一个按钮以添加具有用户给定标题的列
- python - Django静态文件href格式不正确
- python - openpyxl:DataValidation 不显示下拉菜单
- flutter - 如何将变量中的数据放入 TeXViewDocument (flutter_tex)
- sql - 如何获得基于其他总计和值的值的总百分比