欢迎投稿

今日深度:

ElasticSearch常用插件整理,elasticsearch整理

ElasticSearch常用插件整理,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

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/28091.html NewsArticle ElasticSearch常用插件整理,elasticsearch整理 说明 1)    素材来自互联网,针对部分插件,已通过实际操作验证,进而整理、总结形成。 (感谢度娘、感谢互联网、感谢开源世界里的大牛...
相关文章
    暂无相关文章
评论暂时关闭