elasticsearch 分词器
1. 分词器构造
一个分词器——无论内置还是自定义,是一个包含三个生成块的包:character filters, tokenizers, and token filter.(字符过滤器,断词,分词过滤)
1.1. character filters
字符过滤器接收原始文本字符流并处理它——添加、删除、更改字符。
例如:从html文本中剔除<b>标签
一个分词器可以有0或多个字符过滤器,它们是顺序执行的。
1.2. tkenizer
断词器负责分词,一个分词器只能有一个断词器。
它还记录每个token的顺序,位置,及原始单词的偏移
1.3. token filters
特征词过滤器,负责处理断词器给出的列表。
lowercase转换所有的特征词为小写,
stop从列表中移除停止词(stop words)
特征词处理器只针对特征词本身,不会改变它们的位置或者偏移;
特征词处理器可以有0个或多个。
2. 案例
下面是一个自定义分词器案例:
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_custom_analyzer": {
"type": "custom",
"tokenizer": "standard",
"char_filter": [
"html_strip"
],
"filter": [
"lowercase",
"asciifolding"
]
}
}
}
}
}
转载于:https://www.cnblogs.com/wodeboke-y/p/11562813.html