Elasticsearch插件与集成介绍


Elasticsearch的能力虽然已经非常强大,但是它也提供了基于插件的扩展功能,基于此我们可以扩展查询、分词、监控、脚本等能力。
这是学习Elasticsearch插件的第一篇,主要是阅读官方文档的笔记,介绍官方的一些插件和优秀的社区插件;后面一篇主要是通过源码来深入学习Elasticsearch插件的开发,并通过实战开发一个自定义的插件。

Plugin Management

  • Plugins are a way to enhance the core Elasticsearch functionality in a custom manner. They range from adding custom mapping types, custom analyzers, native scripts, custom discovery and more.
  • Site plugins and mixed plugins are deprecated and will be removed in 5.0.0. Instead, site plugins should either be migrated to Kibana or should use a standalone web server.
  • The plugin script is used to install, list, and remove plugins.
sudo bin/plugin install [plugin_name]   #Core Elasticsearch plugins
sudo bin/plugin install [org]/[user|component]/[version] #Community and non-core plugins
sudo bin/plugin install [url]           #Custom URL or file system
sudo bin/plugin list                    #Listing plugins
sudo bin/plugin remove [plugin_name]    #Removing plugins

API Extension Plugins

API extension plugins add new functionality to Elasticsearch by adding new APIs or features, usually to do with search or mapping.

  • [Core]Delete By Query Plugin:Elasticsearch 1.0版本有一个delete-by-query的API,由于存在兼容性、一致性和可靠性的问题而被移除,该插件使用scroll获取文档ID和版本然后使用bulk进行批量删除;
  • carrot2 Plugin:可以自动地将相似的文档组织起来,并且给每个文档的群组分类贴上相应的较为用户可以理解的标签。这样的聚类也可以看做是一种动态的针对每个搜索和命中结果集合的动态 facet。可以在Carrot2 demo page体验一下这个工具。
  • Elasticsearch Image Plugin:基于LIRE的相似图片搜索插件;
  • Entity Resolution Plugin:基于贝叶斯概率模型去除重复数据的插件;
  • SQL language Plugin:支持采用SQL查询的ES插件;
  • Elasticsearch Taste Plugin:基于用户和内容推荐的ES插件;

Analysis Plugins

Analysis plugins extend Elasticsearch by adding new analyzers, tokenizers, token filters, or character filters to Elasticsearch.

  • [Core]ICU:使用ICU实现的一个针对亚洲语言的分词器插件;
  • [Core]SmartCN:官方提供的一个基于概率的针对中文或中英混合的分词器;
  • Combo Analysis Plugin:通常一个分析器里只能配置一个分词器,该插件支持能配置多个分词器组合;
  • IK Analysis Plugin:一个非常流行的中文分析器插件,迁移自Lucene的IK分析器;
  • Mmseg Analysis Plugin:基于MMSEG算法的中文分析器,在中英混合时分词效果较差;
  • Pinyin Analysis Plugin:将中文转换为拼音的分析器,支持首字母和连接符配置;

Discovery Pluginsedit

Discovery plugins extend Elasticsearch by adding new discovery mechanisms that can be used instead of Zen Discovery.

Security Plugins

Integrations

Integrations are not plugins, but are external tools or modules that make it easier to work with Elasticsearch.

Help for plugin authors

插件描述文件plugin-descriptor.properties可以参考:https://github.com/elastic/elasticsearch/blob/2.4/dev-tools/src/main/resources/plugin-metadata/plugin-descriptor.properties

参考资料

Elasticsearch Plugins and Integrations


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM