Elasticsearch Analyzer

前言

qbit 使用的 Elasticsearch 版本为 7.x
推荐学习阮一鸣《 Elasticsearch 核心技术与实战

Analyzer 组成部分

分析器(analyzer)由三部分组成:字符过滤器(CharacterFilters)、分词器(Tokenizer)和词元过滤器(TokenFilters)。
Analyzer .png

analyzer / search_analyzer

  • 默认情况下,建索引(index)和搜索(search)都用同一个分析器(analyzer)
  • 在 search_analyzer 时,搜索用 search_analyzer 分析器

Analyzer 安装方法

  • 查看已安装哪些插件
# cmd 安装后可见
./bin/elasticsearch-plugin list
# url 安装、重启后可见
 http://10.10.10.10:9200/_cat/plugins
# kibana
GET /_cat/plugins
  • 安装内置 Analyzer(以 ICU 为例)
./bin/elasticsearch-plugin install analysis-icu
  • 安装 Github 上的 Analyzer(以 IK 为例)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
  • 安装本地的 zip 包
./bin/elasticsearch-plugin install file:///usr/share/es/download/plugin/elasticsearch-analysis-ik-7.4.2.zip
  • 免确认
-b
--batch

Analyzer 测试方法

内置分词器

POST _analyze
{
  "analyzer": "simple",
  "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}

自定义分词器

GET /_analyze
{
  "char_filter": ["html_strip"], 
  "tokenizer": "hanlp",
  "filter": [ "word_delimiter_graph", "lowercase",  "stop", "stemmer"],
  "text": "The 2 QUICK Brown-Foxes jumped over the lazy dog's bone."
}

内置 Analyzer 与 官方插件

英文 Analyzer

Standard Analyzer

Simple Analyzer

中文 Analyzer

ICU

SmartCN

HanLP

IK

Pinyin

ansj

jieba

jcseg

相关阅读

你可能感兴趣的:(elasticsearch,lucene,分词搜索)