ElasticSearch内置了几种分析器
标准分词器standard,不指定分析器,那么就用的是标准分析器,综合外国语言的默认分析器,对中文不是很友好,
POST _analyze
{
"analyzer": "standard",
"text": "萧亚轩"
}
分析器结果
{
"tokens": [
{
"token": "萧",
"start_offset": 0,
"end_offset": 1,
"type": "<IDEOGRAPHIC>",
"position": 0
},
{
"token": "亚",
"start_offset": 1,
"end_offset": 2,
"type": "<IDEOGRAPHIC>",
"position": 1
},
{
"token": "轩",
"start_offset": 2,
"end_offset": 3,
"type": "<IDEOGRAPHIC>",
"position": 2
}
]
}
简单分析器simple,只是将单词转化为小写
POST _analyze
{
"analyzer": "simple",
"text": "Hello Word"
}
结果
{
"tokens": [
{
"token": "hello",
"start_offset": 0,
"end_offset": 5,
"type": "word",
"position": 0
},
{
"token": "word",
"start_offset": 6,
"end_offset": 10,
"type": "word",
"position": 1
}
]
}
空白分词器white,安装空白进行分割。
GET _analyze
{
"text":"我是 中国人",
"analyzer": "whitespace"
}
结果
{
"tokens": [
{
"token": "我是",
"start_offset": 0,
"end_offset": 2,
"type": "word",
"position": 0
},
{
"token": "中国人",
"start_offset": 3,
"end_offset": 6,
"type": "word",
"position": 1
}
]
}