Standard Analyzer
标准分析器是如果未指定所使用的默认的分析仪。它提供了基于语法标记化(基于Unicode文本分割算法,为Unicode标准附件#29中规定),并适用于大多数语言。
POST _analyze
{
"analyzer": "standard",
"text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}
关于上面的语句,将会产生下面的短语
[ the, 2, quick, brown, foxes, jumped, over, the, lazy, dog's, bone ]
Configuration
标准分析器,接受以下的几个参数:
max_token_length 最大分词长度,如果一个词超过了这个长度,那么将以最大分词长度作为间隔,默认说是255
stopwords 一个预先定义的停用词列表,或者一个数组包含一个停用词的列表。默认是_None_.
stopwords_path 包含停用词文件的路径
Example configuration
在下面的例子中,配置了一个max_token_length 5长度的标准解析器,并且预定义英文停用词列表
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_english_analyzer": {
"type": "standard",
"max_token_length": 5,
"stopwords": "_english_"
}
}
}
}
}
POST my_index/_analyze
{
"analyzer": "my_english_analyzer",
"text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}
在上述例子中产生了以下短语
[ 2, quick, brown, foxes, jumpe, d, over, lazy, dog's, bone ]其中主要是讲brown-forxes拆解开了,并且把the停用词去掉了
Definition
标准分析器包括:
- Tokenizer Standard Tokenizer 标准分词器
- Token Filters Lower Case Token Filter (小写词过滤球)、Stop Token Filter(停用词分词器默认情况下禁止使用)
如果您需要自定义标准分析器超越的配置参数,那么你需要重新创建一个自定义的分析和修改,通常加入记号过滤。这将重新创建内置标准分析仪,你可以使用它作为一个起点:
PUT /standard_example
{
"settings": {
"analysis": {
"analyzer": {
"rebuilt_standard": {
"tokenizer": "standard",
"filter": [
"lowercase"
]
}
}
}
}
}
可以在小写之后添加任何过滤器。