主题
内置分析器
分析器(Analyzer)是 Elasticsearch 中文本处理的核心组件,负责将字符串拆分为词项(tokens),以支持高效的全文检索。Elasticsearch 提供了多种内置分析器,满足不同语言和应用需求。
1. 标准分析器(standard)
默认分析器,使用 Unicode 文本分词器,适合大多数语言的通用分词需求。
2. 简单分析器(simple)
仅按非字母字符拆分文本,所有字母转换为小写,适合基本英文文本。
3. 空白分析器(whitespace)
按空白字符分词,不改变词项大小写。
4. 关键词分析器(keyword)
不进行分词,整个文本作为一个词项,适用于精确匹配字段。
5. 语言专用分析器
支持多种语言,如:
english
:英文停用词过滤和词干提取chinese
:中文分词(需安装插件)french
、german
、spanish
等多种语言分析器
6. 自定义分析器
基于内置分析器可组合使用分词器、过滤器和字符过滤器,满足复杂需求。
7. 示例:指定分析器
json
PUT /my-index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"type": "standard"
}
}
}
}
}
了解内置分析器及其特性,有助于选择合适的分词策略,提升搜索的相关性和性能。