常见的内置分词器:
标准分词器 standard analyzer 最基础的分词器。可以把词进行拆分、
简单分词器 simple analyzer 分词、做字符过滤、不做词转换。
空格分词器 whitespace analyzer 仅仅根据空格来划分词,不会做字符过滤也不会做词转换。
英文分词器 english 根据英文标准来分词,进行字符过滤,进行词转换(去除英文中的停用词(a,the),同义词转换等)
小写 lowercase tokenizer 把英文全转成小写再分词
字母分词器 letter tokenizer 根据字母来分词
在mapping中指定分析
# 查看映射
GET /worker4/_mapping
# 创建mapping
PUT /worker
{
"mappings": {
"properties": {
"name": {
"type": "text",
"analyzer": "whitespace"
},
"address": {
"type": "text",
"analyzer": "english"
},
"desc": {
"type": "text",
"analyzer": "ik_max_word"
}
}
}
}
中文分词器:
ik_max_word:会做细粒度拆分
ik_smart:会做最粗粒度的拆分
一般都会使用ik_max_word,只有在某些确实只需要最粗粒度的时候才使用ik_smart。
地址: https://github.com/infinilabs/analysis-ik
安装:
把zip文件中的elasticsearch文件夹解压到 elasticsearch安装目录\plugins中,并且重命名文件夹为ik-analyzer,再重启es即可。