Analysis:分词,将全文经过处理,转换为(term / token)的过程
Analyzer:分词器,Analysis 是通过 Analyzer实现的。
Analyzer由三部分组成
- Character Filter:针对原文本处理,如过滤掉html标签
- Tokenizer:按照一定的规则讲文本切分为单词
- Token Filter:讲切分好的单词进行加工,如转小写,过滤掉stopwords,增加同义词等
内置的分词器:
分词器 | 作用 |
---|---|
Standard Analyzer | 默认分词器,按词切分小写处理 |
Simple Analyzer | 非字母切分,小写处理 |
Stop Analyzer | 小写处理,停用词过滤 the a is |
Whitespace Analyzer | 按照空格切分,不转小写 |
Keyword Analyzer | 不做分词,直接将输入输出 |
Patter Analyzer | 正则表达式,默认 \W+ 非字符分割 |
Customer Analyzer | 自定义分词器 |
Analyze API
//使用标准分词器分词
POST /_analyze
{
"analyzer":"standard",
"text": "hello world"
}
//使用指定索引的分词器分词
POST /users/_analyze
{
"field": "field1",
"text": "hello world"
}
//分别知名 tokenizer/filter/chat filter
POST /_analyze
{
"tokenizer": "standard",
"filter": ["lowercase"],
"text": "hellow World"
}
//使用英文分词器
POST /_analyze
{
"analyzer": "english",
"text": "hellow World running"
}
//使用英文分词器
POST /_analyze
{
"analyzer": "icu_analyzer",
"text": "你好,好自为之"
}
//使用安装的 icu 分词插件
//通过 elasticsearch-plugin install icu-analyzer 安装插件
POST /_analyze
{
"analyzer": "icu_analyzer",
"text": "你好啊世界,东西南北"
}
中文分词器
中文比较复杂,为了更好分词可以在github上下载并安装以下两种分词器。
IK
支持自定义词库,支持热更新分词字典
Github地址
THULAC
清华大学自然语言处理和社会人文计算计算实验室提供的一套中文分词器。
Github地址
网友评论