elasticsearch - Elasticsearch如何扩展分析器?
问题描述
给出了分析器,例如standard analyzer
假设你想修改标准分析器的标记器,你可以做类似的事情
"my_analyzer": {
"tokenizer": "my_tokenizer",
"char_filter": "standard_char_filter",
"filter": "standard_filter"
}
即,将您的分析仪基于现有分析仪并对其进行定制?
解决方案
如果你想重新定义standard analyzer
你需要定义一个自定义的,像这样:
PUT /standard_example
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard", <-- change this
"filter": [
"lowercase"
]
}
}
}
}
}
但是,由于standard
分析器使用分standard
词器,如果您将分词器更改为其他内容,它将不再是standard
分析器,它将是您自定义的带有lowercase
令牌过滤器的分析器。但是,您可以基于该分析器创建自定义分析器standard
。
推荐阅读
- python - Ursina的动画师
- flutter - 如何在颤动上使用 blue_thermal_printer 显示像 é à 这样的重音字母
- python - 如何在 python 上运行 fds?
- javascript - 反应JS。如何对数据进行排序并找到与 id 相同的 name 属性值并将对象存储在变量中
- c - 错误说明对 putchar 的未定义引用
- ios - SwiftUI 忽略底部不能在 NavigationView 列表中工作
- c# - 如何访问 ASP.NET ITemplate 容器属性
- jenkins - 在哪里可以找到 Jenkins 的 `input()` 方法的源代码?
- java - 如何使用 orika 映射列表地图?
- python - ModuleNotFoundError:没有名为“future.builtins”的模块;“未来”不是一个包