- 社区贡献插件属于es项目外部的插件。这些插件由单个开发人员或私人公司提供,并拥有各自的许可证及各自的版本控制系统。
1.2 插件管理命令
1.列出当前已安装的插件。这里显示的就是我们已经安装了一个ik分词器插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin list
2.安装插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin install analysis-icu
3.删除插件。
[es-qingjun@localhost bin]$ elasticsearch-plugin remove analysis-icu
- 我们可以使用相关命今获取插件命令的使用说明:$es_home/bin/elasticsearch-plugin - h
1.插件位置指定
当在根目录中运行 Elasticsearch 时,如果使用 DEB 或RPM 安装了 Elasticsearch,则以根目录运行 /usr /share / Elasticsearch/ bin /Elasticsearch-plugin,以便 Elasticsearch 可以写入磁盘的相应文件,否则需要以拥有所有 Elasticsearch 文件的用户身份运行 bin/ Elasticsearch 插件当用户自定义URL 或文件系统时,用户可以通过指定 URL 直接从自定义位置下载插件:
sudo bin / elasticsearch - plugin install [url]
二、分析插件
基本了解:
- 分析器会接受一个字符串作为输入参数,将这个字符串拆分成独立的词或语汇单元(也称之为 token)。
- 在处理过程中会丢弃一些标点符号等字符,处理后会输出一个语汇单元流(也称之为 token stream)。
- es为很多语言提供了专用的分析器,特殊语言所需的分析器可以由用户根据需要以插件的形式提供。
分析器组成的三个部分:
- character filter: 分词之前的预处理,过滤HTML标签、特殊符号转换等。
- tokenizer:用于分词。
- token filter:用于标准化输出。
es内置的主要分析器:
- Standard分析器:默认的分词器,会将词汇单元转换成小写形式,并且去除停用词和标点符号,支持中文(采用的方法为单字切分)。停用词指语气助词等修饰性词语,如 the、an、的、这等。
- Simple分析器:首先通过非字母字符分割文本信息,并去除数字类型的字符,然后将词汇单元统一为小写形式。
- Whitespace分析器:仅去除空格,不会将字符转换成小写形式,不支持中文:不对生成的词汇单元进行其他标准化处理。
- Stop分析器:与Simple 分析器相比,增加了去除停用词的处理。
- Keyword分析器:该分析器不进行分词,而是直接将输入作为一个单词输出。
- Pattern分析器:该分析器通过正则表达式自定义分隔符,默认是“]W+”,即把非字词的符号作为分隔符。
- Language分析器:这是特定语言的分析器,不支持中文,支持如 English、French 和Spanish 等蛮豆颓逼磺糯敢奇害弋亭缆忸侠子补。
注意事项:
- 任何全文检索的字符串域都会默认使用 Standard 分析器。
Standard分析器简介:
- 工作模式:一般来说,分析器会接受一个字符串作为输入。在工作时,分析器会将这个字符串拆分成独立的词或语汇单元(称之为 token),当然也会丢弃一些标点符号等字符,最终分析器输出一个语汇单元流。
- 常规分析器使用算法:Whitespace 分词算法。
- 该算法按空白字符,如空格、Tab、换行符等,对语句进行简单的拆分,将连续的非空格字符组成一个语汇单元。
- 例如,对下面的语句使用 Whitespace 分词算法分词时,会得到如下结果:
原文:You're the lst runner home! 结果: You're、the、st、runner、home!
- Standard 分析器使用算法: Unicode 文本分制算法。
- 可以寻找单词之间的界限,并输出所有界限之间的内容。
- Unicode 内包含的知识使其可以成功地对包含混合语言的文本进行分词。
2.1 es中的分析插件
分析