ElasticSearch常用插件整理
说明
1) 素材来自互联网,针对部分插件,已通过实际操作验证,进而整理、总结形成。
(感谢度娘、感谢互联网、感谢开源世界里的大牛)
2) 如有谬误,请及时指出。
(咸鱼翻身,Email:defineconst@163.com,会不断更新本文档)
3) 联系本人获取配置好的Elasticsearch1.6.0集成安装包。
4) 插件地址:http://www.searchtech.pro/elasticsearch-plugins。
5) 客户端地址:http://www.searchtech.pro/elasticsearch-clients。
备注
Elasticsearch扩展性非常好,有很多官方和第三方开发的插件,下面以安装、分词、同步、数据传输、脚本支持、站点、其它、客户端这几个类别进行划分:
一、 安装ElasticSearch
1. 安装——验证
1)下载elasticsearch-1.6.0,解压,运行\bin\elasticsearch.bat (Windwos)
下载地址:https://www.elastic.co/downloads/elasticsearch
2)进入http://localhost:9200/ 如下图
安装成功!
2. 插件——head
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,可以通过插件把它集成到es,很方便对es进行各种操作的客户端。 (作者 Ben Birch)。
安装命令:\bin>plugin-install mobz/elasticsearch-head
安装完成后\plugins目录下会有head的文件夹。
进入http://localhost:9200/_plugin/head/ 如下图
3. 插件——bigdesk
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用情况,索引数据、搜索情况,http连接数等。 (作者 Lukáš Vlček)
安装命令:\bin>plugin-install lukas-vlcek/bigdesk
进入http://localhost:9200/_plugin/bigdesk/ 如下图
1)nodes
2)clustor
二、 分词插件
1. 插件列表
ComboAnalysis Plugin (作者 Olivier Favre, Yakaz)
简介:组合分词器,可以把多个分词器的结果组合在一起。
SmartChinese Analysis Plugin (作者 elasticsearch 团队)
简介:lucene默认的中文分词器
ICU Analysisplugin (作者 elasticsearch 团队)
简介:lucene自带的ICU分词,ICU是一套稳定、成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包。
Stempel(Polish) Analysis plugin (作者 elasticsearch 团队)
简介:法文分词器
IK Analysis Plugin (作者 Medcl)
简介:大名鼎鼎的ik分词,都懂的!
Mmseg Analysis Plugin (作者 Medcl)
简介:mmseg中文分词
HunspellAnalysis Plugin (作者 Jörg Prante)
简介:lucene自带的Hunspell模块
Japanese(Kuromoji) Analysis plugin (作者 elasticsearch 团队).
简介:日文分词器
JapaneseAnalysis plugin (作者 suguru).
简介:日文分词器
Russianand English Morphological Analysis Plugin (作者 Igor Motov)
简介:俄文英文分词器
PinyinAnalysis Plugin (作者 Medcl)
简介:拼音分词器
String2IntegerAnalysis Plugin (作者 Medcl)
简介:字符串转整型工具。主要用在facet这个功能上,如果facet的field的值是字符串的话,计算起来比较耗资源。可以把字符串映射成整型,对整型进行facet操作要比对字符串的快很多。
2. IK分词插件安装
1) 下载并编译:elasticsearch-analysis-ik-1.4.0生成jar包和rar压缩包
2) 创建:elasticsearch-1.6.0\plugins\analysis-ik
3) 拷贝elasticsearch-analysis-ik-1.4.0.zip并解压缩
4) 拷贝ik目录至elasticsearch-1.6.0\config\ik
5) 配置远程数据加载地址:IKAnalyzer.cfg.xml
6) 远程访问地址:
<entry key="remote_ext_dict">http://192.168.1.151:85/ESDynamicDict.aspx</entry>
ESDynamicDict.aspx样例代码如下:
string eTag = this.Request["If-None-Match"];
long modified = String.IsNullOrEmpty(Request["If-Modified-Since"]) ? -1 : Convert.ToInt64(Request["If-Modified-Since"]);
//long modified = System.DateTime.Now.Ticks;
if (null == modified || -1 == modified)
{
//如果没有,则使用当前时间
modified = System.DateTime.Now.Ticks;
}
List<string> wordList = new List<string>();
wordList.Add("比亚迪");
wordList.Add("华为");
wordList.Add("中兴");
wordList.Add("勘探概况回顾");
wordList.Add("可靠性分析");
wordList.Add("构造圈闭识别");
wordList.Add("非构造圈闭识别");
wordList.Add("圈闭形态描述");
wordList.Add("圈闭条件分析");
wordList.Add("油气源特征分析");
wordList.Add("储层特征研究");
wordList.Add("储层综合柱状图");
wordList.Add("储层物性统计表");
wordList.Add("储层岩石学特征图");
wordList.Add("锕");
wordList.Add("ACTINIUM");
wordList.Add("砹");
wordList.Add("ASTATINE");
wordList.Add("氨");
wordList.Add("AMMONIA");
wordList.Add("氨基磺酸");
wordList.Add("SULFAMIC ACID");
wordList.Add("氨基甲酸乙酯");
wordList.Add("ETHYL CARBAMATE");
wordList.Add("氨基甲酸酯");
wordList.Add("CARBAMATE");
wordList.Add("氨基氰");
wordList.Add("CYANAMIDE");
wordList.Add("氨基酸");
wordList.Add("AMINO ACID");
wordList.Add("氨基羧酸");
wordList.Add("AMINOCARBOXYLIC ACID");
wordList.Add("氨基糖");
wordList.Add("AMINO SUGAR");
wordList.Add("胺盐");
wordList.Add("AMINE SALT");
wordList.Add("半乳甘露聚糖");
wordList.Add("AMINO SUGAR");
wordList.Add("苯胺");
wordList.Add("ANILINE");
wordList.Add("苯并嵌二萘");
wordList.Add("BENZOPYRENE");
wordList.Add("苯并三唑");
wordList.Add("BENZOTRIAZOLE");
wordList.Add("半乳甘露聚糖");
wordList.Add("AMINO SUGAR");
String oldEtag = wordList.Count + "";
StringBuilder sb = new StringBuilder();
if (oldEtag != eTag)
{
foreach (var item in wordList)
{
if (String.IsNullOrEmpty(sb.ToString()))
{
sb.Append("\r\n");
}
sb.Append(item + "\r\n");
}
String result = "";
result = sb.ToString();
Response.Clear();
Response.AddHeader("ETags", wordList.Count.ToString());//Response.Headers["Last-Modified"]
Response.AddHeader("Last-Modified", wordList.Count.ToString());//Response.Headers["Last-Modified"]
Response.Write(result);
Response.End();
}
}
使用MVN进行集成编译,具体过程可以咨询彭健和我。
具体操作如下图所示:
三、 同步插件
1. 插件列表
CouchDBRiver Plugin (作者 elasticsearch 团队)
简介:CouchDB和elasticsearch的同步插件
WikipediaRiver Plugin (作者 elasticsearch 团队)
简介:wikipedia文件读取插件。wikipedia是维基百科的一个离线库,不定期发布最新数据,是以xml形式发布的。这个river读取这个文件来建索引。
TwitterRiver Plugin (作者 elasticsearch 团队)
简介:twitter的同步插件,可以同步你twitter上的微博。
RabbitMQRiver Plugin (作者 elasticsearch 团队)
简介:rabbitmq同步插件,读取rabbitmq上的队列信息并索引。
RSS River Plugin (作者 David Pilato)
简介:定期索引指定一个或多个RSS源的数据。
MongoDBRiver Plugin (作者 Richard Louapre)
简介:mongodb同步插件,mongodb必须搭成副本集的模式,因为这个插件的原理是通过定期读取mongodb中的oplog来同步数据。
OpenArchives Initiative (OAI) River Plugin (作者 Jörg Prante)
简介:可以索引oai数据提供者提供的数据。
St9River Plugin (作者 Sunny Gleason)
简介:可以索引索引st9数据(st9是神马?囧!!!)
SofaRiver Plugin (作者 adamlofts)
简介:这个插件可以把多个CouchDB的数据库同步到同一个es索引中。
JDBC RiverPlugin (作者 JörgPrante)
简介:关系型数据库的同步插件
FileSystem River Plugin (作者 David Pilato)
简介:本地文件系统文件同步插件,使用方法是指定一个本地目录路径,es会定期扫描索引该目录下的文件。
LDAP River Plugin (作者 Tanguy Leroux)
简介:索引LDAP目录下的文件数据。
Dropbox River Plugin (作者 David Pilato)
简介:索引dropbox网盘上的文件。通过oauth协议来调用dropbox上的api建索引。
ActiveMQRiver Plugin (作者 Dominik Dorn)
简介:activemq队列的同步插件,和之前rabbitmq的类似
SolrRiver Plugin (作者 Luca Cavanna)
简介:solr同步插件,可以把solr里面的索引同步到es
CSV RiverPlugin (作者 MartinBednar)
简介:通过指定目录地址来索引csv文件。
2. 插件——MongoDB River
插件地址:https://github.com/richardwilly98/elasticsearch-river-mongodb
插件安装:Plugin--installcom.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/2.0.9
备用:Plugin–install –url https://github.com/downloads/richardwilly98/elasticsearch-river-mongodb/elasticsearch-river-mongodb-2.0.9.zip-install river-mongodb
【todo:需要配置MongoDB的集群功能,未能成功,下周再试】
四、 数据传输插件
1. 插件列表
Servlettransport (作者 elasticsearch 团队)
简介:Servletrest插件,通过servlet来封装rest接口。
Memcachedtransport plugin (作者 elasticsearch 团队)
简介:本插件可以通过memcached协议进行rest接口的调用。注意:这里不是使用memcache作为es的缓存。
ThriftTransport (作者 elasticsearch 团队)
简介:使用thrift进行数据传输。
ZeroMQ transport layer plugin (作者 Tanguy Leroux)
简介:使用zeromq进rest接口的调用。
Jetty HTTP transportplugin (作者 SonianInc.)
简介:使用jetty来提供http rest接口。默认是使用netty。这个插件的好处是可以对http接口进行一些权限的设置。
2. 插件——
【todo:暂不需要未经测试】
五、 脚本插件
1. 插件列表
Pythonlanguage Plugin (作者 elasticsearch 团队)
简介:python脚本支持
JavaScriptlanguage Plugin (作者 elasticsearch 团队)
简介:javascript脚本支持
Groovylang Plugin (作者 elasticsearch 团队)
简介:groovy脚本支持
ClojureLanguage Plugin (作者 Kevin Downey)
简介:clojure脚本支持
2. 插件——
六、 站点插件
1. 插件列表
Paramedic Plugin (作者 Karel Minařík)
简介:es监控插件
SegmentSpyPlugin (作者 ZacharyTong)
简介:查看es索引segment状态的插件
InquisitorPlugin (作者 ZacharyTong)
简介:这个插件主要用来调试你的查询。
2. 插件——Mavel
Cd D:\Sooil\Elasticsearch\elasticsearch-1.6.0\bin
D:
Plugin –install elasticsearch/marvel/latest
注意:Marvel由于其功能强大,为收费产品。
访问地址如下:
http://192.168.1.184:9200/_plugin/marvel
http://192.168.1.184:9200/_plugin/marvel/sense/index.html
七、 其它插件
1. 插件列表
MapperAttachments Type plugin (作者 elasticsearch 团队)
简介:附件类型插件,通过tika库把各种类型的文件格式解析成字符串。
HadoopPlugin (作者 elasticsearchteam)
简介:hadoop和elasticsearch的集成插件,可以通过hadoop的mapreduce算法来并行建立索引,同时支持cascading,hive和pig等框架。
AWS CloudPlugin (作者 elasticsearch 团队)
简介:elasticsearch与amazon web services的集成。
ElasticSearchMock Solr Plugin (作者 Matt Weber)
简介:elasticsearch的solr api接口。用了这个插件可以使用solr的api来调用es,直接用solrj就可以调用es。比较适用于从solr转es时暂时过度。
SuggesterPlugin (作者 AlexanderReelsen)
简介:es 搜索提示功能插件,不过es0.9版本后自带了这个功能,
ElasticSearchPartialUpdate Plugin (作者 Medcl)
简介:elasticsearch的部分更新插件。
ZooKeeperDiscovery Plugin (作者 Sonian Inc.)
简介:通过zookeeper管理集群的插件。通过这个插件,es的分布式架构和solrcloud相似。
ElasticSearchChanges Plugin (作者 Thomas Peuss)
简介:elasticsearch索引操作记录插件。通过这个插件可以查看用户对索引的增删改操作。
ElasticSearch View Plugin (作者 Tanguy Leroux)
简介:这个插件可以把es的文档以html,xml或text的方式显示出来,它也可以通过查询生成web页面。
ElasticSearchNew Relic Plugin (作者 Vinicius Carvalho)
简介:elasticsearch和newrelic的集成插件。newrelica是一个性能监控工具。这个插件会把节点的状态数据传到newrelic的账号上。
2. 插件——
Todo:产品中需要做测试集成的插件:
ElasticSearchChanges Plugin
MapperAttachments Type plugin
八、 Elasticsearch客户端
1. 客户端列表
1) Perl
ElasticSearch.pm: Perl客户端
2) Python
pyes: Python客户端
pyelasticsearch: Python客户端
ESClient:一个轻量级Python客户端
rawes: Python客户端
elasticutils: Python客户端
3) Ruby
Tire:Ruby API & DSL, with ActiveRecord/ActiveModel integration
rubberband: Ruby客户端
stretcher: Ruby客户端
elastic_searchable: Ruby客户端 + Rails整合
4) PHP
Elastica: PHP客户端
elasticsearch PHP客户端
Sherlock: PHP客户端
5) Java
Jest: Java Rest客户端
6) Javascript
Elastic.js: JavaScript实现Query DSL和主要API读取
7) .Net
PlainElastic.Net: .NET客户端
NEST: .NET客户端
ElasticSearch.NET: .NET客户端
8) Scala
scalastic: Scala客户端
esclient:瘦Scala客户端
9) Clojure
Elastisch: Clojure客户端
10) Go
elastigo: Go客户端
11) Erlang
erlastic_search: Erlang客户端
Tirexs:一个基于Elixir的API/DSL,可以在纯Erlang环境中使用
12) EventMachine
em-elasticsearch: eventmachine的elasticsearch库
13) Linux Command Line
es2unix:通过unix命令行调用elasticsearchapi
九、 总结
1. 插件工具集成访问
由于插件众多,需要记忆的地址也非常多,根据技术大牛Medcl的1.0.0的集成安装包的启示,拷贝了其开发的组件,访问地址如下:
http://192.168.1.184:9200/_plugin/rtf/
2. 其他插件安装
a) Attachments安装
Cd D:\Sooil\Elasticsearch\elasticsearch-1.6.0-self\bin
D:
Plugin -install elasticsearch/elasticsearch-mapper-attachments/2.0.0
b) Paramedic
安装
plugin -install karmi/elasticsearch-paramedic
ElasticSearch常用插件整理相关推荐
- IDEA常用插件整理
IDEA常用插件整理 1. Rainbow Fart 2. EasyCode 基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml). 只要是与数据库 ...
- IDEA社区版常用插件整理
IDEA社区版常用插件整理 Alibaba Java Coding Guidelines 代码规范提醒 CodeGlance 代码编辑区迷你缩放图,当代码行数过多时可以通过预览图快速定位 Codota ...
- vscode前端常用插件整理(vuejs)
VsCode可以通过安装插件来使编辑器变的更加强大 以下为前端开发工程师常用插件 (1)HTML Snippets 超级实用且初级的 H5代码片段以及提示 (2)HTML CSS Support 让 ...
- Visual Studio Code 常用插件整理
常用插件说明: 一.HTML Snippets 超级使用且初级的H5代码片段以及提示 二.HTML CSS Support 让HTML标签上写class智能提示当前项目所支持的样式 三.Debugg ...
- php开发常用插件整理
font awesome 简介: font awesome是一套绝佳的图标字体库和CSS框架 网址: http://fontawesome.dashgame.com/ layer 简介: layer是 ...
- 【工作笔记】ElasticSearch —— 常用插件/工具汇总
转载自https://blog.csdn.net/qq_20597479/article/details/69396815 ES与数据库同步工具--ElasticSearch-JDBC ES内容管理工 ...
- Android Studio提高效率常用插件整理
1.GsonFormat 快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程. 使用方法:快捷键Alt+S也可以使用Alt+Insert选择G ...
- VS Code 常用插件整理
Auto Rename Tag 介绍: html标签自动补全插件 插件相关配置: 可以通过以下配置,设置插件在什么语言下生效,默认是所有语言都有效. {"auto-rename-tag.ac ...
- JAVA 常用插件整理
1.MyBatisX 可以在IDEA插件市场搜索,安装完以后会有一只小鸟的图标,点击ctrl+鼠标左键则可指向对应的实现和引用. 2.Lombok 可以在IDEA插件市场搜索,安装完这个插件则可以使 ...
最新文章
- html表单的创建和css的构成
- 基于矩阵分解的推荐算法
- 学习valueOf和toString,理解隐式转化规则
- 线程池传递对象参数_一次线程池参数错误引起的线上故障
- debian7更换gcc版本的二种方法分享
- api质量等级_第1150期 简单又易操作的辨别润滑油质量的方法
- 【渝粤题库】国家开放大学2021春2724市场营销原理与实务题目
- 浏览器中的WebSocket(ws://127.0.0.1:9988);
- 计算机软件著作权奖励资金绩效目标,专项资金项目绩效目标表.pdf
- Error:File read error (source insight 4.0错误)
- python优化包_Python中优化NumPy包使用性能的教程
- 防御病毒邮件得看U-Mail邮件网关
- 推荐程序员收藏的几个技术社区以及工具网站
- 专访Facebook HipHop作者、阿里研究员赵海平:生物与计算机交织的独特人生
- 计算机流程图的画法,程序流程图的基本画法大全
- aseprite 中心对称绘制脚本
- cadence17.4 - Checking Hostname and HostID in license file Match Failed
- 类风湿性关节炎中的肠-关节轴
- 火水未濟 (易經大意 韓長庚)
- 基于at89c51单片机的led数字倒计时器设计c语言,课程设计(论文)-基于AT89C51单片机的LED数字倒计时器设计.docx...
热门文章
- SpringCloud Gateway 重试路由器的过滤器
- α_β_γ_δ_ε_ζ_η_θ_ι_κ_λ_μ_ν怎么读
- 2022中秋股市复盘随笔
- 用python画简单雪花剪纸步骤图解_Python+Selenium+Beautiful Soap抓取贝贝拼团爆款
- android和苹果位置共享,苹果和安卓手机修改微信共享位置方法。
- Android webview 清除历史访问记录
- python批量采集欢乐之源——表情包数据~
- java/php/net/python学生社团管理系统设计
- css权重是什么?css权重的介绍
- 蜗牛星际安装winserver 2012的网卡驱动