你不会是程序猿吧?

【招聘】ML/ES/DOCKER方向兼职培训师/讲师

 公司介绍:NobleProg(诺波中国),公司成立于2005年,总部设在英国伦敦并在欧洲和美国建立了特许经营和分公司。2015年来到中国,面对国内企业提供人工智能、IT、统计、管理、编程的培训和咨询服务。
 聘Machine Learning/Elasticserach/Ducker and kubemetes三个方向兼职培训师/讲师。
基本要求如下:
1、具有丰富的理论知识和技能;
2、有一定的项目经验(这包括你是项目leader或项目组成员);
3、有培训师或讲师的经验最佳; 
4、可以依据我们提供的培训大纲结合客户需求做出培训计划;  
5、可授受出差(视项目决定);
6、可接受兼职;
7、薪资待遇请与我们商谈。
 
公司网站:http://www.nobleprog.cn/training
对以上招聘信息感兴趣,请与我们联系。
 
Tina
手机:18610650025
QQ:1575119117
继续阅读 »
 公司介绍:NobleProg(诺波中国),公司成立于2005年,总部设在英国伦敦并在欧洲和美国建立了特许经营和分公司。2015年来到中国,面对国内企业提供人工智能、IT、统计、管理、编程的培训和咨询服务。
 聘Machine Learning/Elasticserach/Ducker and kubemetes三个方向兼职培训师/讲师。
基本要求如下:
1、具有丰富的理论知识和技能;
2、有一定的项目经验(这包括你是项目leader或项目组成员);
3、有培训师或讲师的经验最佳; 
4、可以依据我们提供的培训大纲结合客户需求做出培训计划;  
5、可授受出差(视项目决定);
6、可接受兼职;
7、薪资待遇请与我们商谈。
 
公司网站:http://www.nobleprog.cn/training
对以上招聘信息感兴趣,请与我们联系。
 
Tina
手机:18610650025
QQ:1575119117 收起阅读 »

发布个es迁移工具:elasticsearch-migration

https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
 
欢迎测试!
 
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000

#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100

#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111

#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings

#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh

#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin

#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin

 
继续阅读 »
https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
 
欢迎测试!
 
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000

#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100

#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111

#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings

#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh

#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin

#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin

  收起阅读 »

北京 Elastic社区第一次线下活动

1、主办方:
    

      ElasticSearch中文社区    奇点机智

QQ20160511-0@2x.png




2、时间与地点:


      5月15日14:00 - 17:30(周日)

     北京海淀区中关村鼎好电子大厦太库孵化器路演厅


QQ20160511-8@2x.png


 

沙龙主题:


分享一:5miles基于es的对外搜索业务实践 

QQ20160511-1@2x.png


王浩宇

5miles搜索工程师

主题简介:

和大家交流一些5miles对外搜索业务中的工作,例如基于es function_score 的rerank的实现,通过geohash减少请求,通过多个data center来实现请求异步,风险控制等

 

分享二: Elasticsearch与Spark的整合

QQ20160511-2@2x.png



祝威廉

多年大数据经验,现专注于Spark/ES 相关领域

主题简介:

个人对ElasticSearch 和 Spark的整合一些看法,简要介绍通过对elasticsearch-hadoop项目的改进,以Spark 和 ElasticSearch 为依托,构建一个Ad-Hoc 查询引擎。

 

分享三:ElasticStack 5.0 介绍


QQ20160511-3@2x.png



medcl

Developer@Elastic

主题简介:

ElasticStack 5.0的新特性介绍


 

活动流程:


13:00-13:45  签到及入场

13:45-14:00  主持人介绍活动

14:00-15:00  王浩宇    5miles基于es的对外搜索业务实践

15:00-16:00  祝威廉    ElasticSearch 与 Spark 的整合 

16:00-16:30  茶歇与自由沟通

16:30-17:30  medcl   ElasticStack 5.0 介绍


QQ20160511-5@2x.png




报名方式:

本次活动全程免费,欢迎报名
http://www.huodongxing.com/event/6334153926600#rd


活动联系:
联系人:凌霄
手机:18600209779
邮箱:hellolingxiao@gmail.com



QQ20160511-7@2x.png

想要加入Elastic北京微信群,扫描上方二维码加小助手拉你进群

QQ20160511-6@2x.png






 
继续阅读 »
1、主办方:
    

      ElasticSearch中文社区    奇点机智

QQ20160511-0@2x.png




2、时间与地点:


      5月15日14:00 - 17:30(周日)

     北京海淀区中关村鼎好电子大厦太库孵化器路演厅


QQ20160511-8@2x.png


 

沙龙主题:


分享一:5miles基于es的对外搜索业务实践 

QQ20160511-1@2x.png


王浩宇

5miles搜索工程师

主题简介:

和大家交流一些5miles对外搜索业务中的工作,例如基于es function_score 的rerank的实现,通过geohash减少请求,通过多个data center来实现请求异步,风险控制等

 

分享二: Elasticsearch与Spark的整合

QQ20160511-2@2x.png



祝威廉

多年大数据经验,现专注于Spark/ES 相关领域

主题简介:

个人对ElasticSearch 和 Spark的整合一些看法,简要介绍通过对elasticsearch-hadoop项目的改进,以Spark 和 ElasticSearch 为依托,构建一个Ad-Hoc 查询引擎。

 

分享三:ElasticStack 5.0 介绍


QQ20160511-3@2x.png



medcl

Developer@Elastic

主题简介:

ElasticStack 5.0的新特性介绍


 

活动流程:


13:00-13:45  签到及入场

13:45-14:00  主持人介绍活动

14:00-15:00  王浩宇    5miles基于es的对外搜索业务实践

15:00-16:00  祝威廉    ElasticSearch 与 Spark 的整合 

16:00-16:30  茶歇与自由沟通

16:30-17:30  medcl   ElasticStack 5.0 介绍


QQ20160511-5@2x.png




报名方式:

本次活动全程免费,欢迎报名
http://www.huodongxing.com/event/6334153926600#rd


活动联系:
联系人:凌霄
手机:18600209779
邮箱:hellolingxiao@gmail.com



QQ20160511-7@2x.png

想要加入Elastic北京微信群,扫描上方二维码加小助手拉你进群

QQ20160511-6@2x.png






  收起阅读 »

es分词索引创建

{
    "settings": {
        "index": {
            "number_of_replicas": "0",
            "number_of_shards": "5",
            "refresh_interval": "-1",
            "translog.flush_threshold_ops": "100000"
        }
    },
    "mappings": {
        "etp_t": {
            "properties": {
                "dd": {
                    "type": "multi_field",
                    "fields": {
                        "pn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_first_letter",
                            "search_analyzer": "pinyin_first_letter"
                        },
                        "pk": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_ngram_analyzer",
                            "search_analyzer": "pinyin_ngram_analyzer"
                        },
                        "cn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "ik_max_word",
                            "search_analyzer": "ik_max_word",
                            "term_vector": "with_positions_offsets",
                            "boost": 10
                        },
                        "un": {
                            "type": "string",
                            "index": "not_analyzed"
                        }
                    }
                }
            }
        }
    }
}
继续阅读 »
{
    "settings": {
        "index": {
            "number_of_replicas": "0",
            "number_of_shards": "5",
            "refresh_interval": "-1",
            "translog.flush_threshold_ops": "100000"
        }
    },
    "mappings": {
        "etp_t": {
            "properties": {
                "dd": {
                    "type": "multi_field",
                    "fields": {
                        "pn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_first_letter",
                            "search_analyzer": "pinyin_first_letter"
                        },
                        "pk": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_ngram_analyzer",
                            "search_analyzer": "pinyin_ngram_analyzer"
                        },
                        "cn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "ik_max_word",
                            "search_analyzer": "ik_max_word",
                            "term_vector": "with_positions_offsets",
                            "boost": 10
                        },
                        "un": {
                            "type": "string",
                            "index": "not_analyzed"
                        }
                    }
                }
            }
        }
    }
} 收起阅读 »

【内附讲师干货PPT】首届ES中文社区技术沙龙广州站圆满举行咯

4月23日,首届Elasticsearch中文社区技术沙龙【广州站】在广州筑梦咖啡成功举行。


2016年ES中文社区全国巡回技术沙龙,分别在北京、上海、广州三地召开。【广州站】由ES中文社区和数说故事共同举办,主题为“企业级搜索引擎与大数据实战分享”,共吸引了来自腾讯、网易、欢聚时代、金蝶及舜飞科技等企业的共120+观众到现场交流。来自于欢聚时代的赖鸿智、数说故事的黄耀鸿、塔布数据的何金城三位ES大牛从入门到实战经验给现场观众带来了一次关于ES的干货分享。
 


嘉宾.jpg

 
三位讲师分别从【入门】:ES优化技巧及工具推荐、【重点】基于父子文档实现的ES关联查询、【实战】亿级规模的ES查询优化实战三个层面对ES进行了介绍。赖鸿智指出自己在2011年就已经接触到ES,对于ES的初学者他从管理及监控两个方面做了一些工具的推荐。
 
更多精彩内容,下载讲师ppt吧
http://pan.baidu.com/s/1sliR7qP
提取密码:v5p3
 
 
继续阅读 »
4月23日,首届Elasticsearch中文社区技术沙龙【广州站】在广州筑梦咖啡成功举行。


2016年ES中文社区全国巡回技术沙龙,分别在北京、上海、广州三地召开。【广州站】由ES中文社区和数说故事共同举办,主题为“企业级搜索引擎与大数据实战分享”,共吸引了来自腾讯、网易、欢聚时代、金蝶及舜飞科技等企业的共120+观众到现场交流。来自于欢聚时代的赖鸿智、数说故事的黄耀鸿、塔布数据的何金城三位ES大牛从入门到实战经验给现场观众带来了一次关于ES的干货分享。
 


嘉宾.jpg

 
三位讲师分别从【入门】:ES优化技巧及工具推荐、【重点】基于父子文档实现的ES关联查询、【实战】亿级规模的ES查询优化实战三个层面对ES进行了介绍。赖鸿智指出自己在2011年就已经接触到ES,对于ES的初学者他从管理及监控两个方面做了一些工具的推荐。
 
更多精彩内容,下载讲师ppt吧
http://pan.baidu.com/s/1sliR7qP
提取密码:v5p3
 
  收起阅读 »

社区使用WeCenter,一个开源的php+mysql社区问答系统搭建

前言

之前学习Lucene和ElasticSearch的时候经常逛逛Elastic的中文社区,发现社区做的蛮不错的,风格和ui都比较清新,今天突然看到了一个站和其风格类似,我就肯定是个开源的产品二次开发的,后来发现了WeCenter,一个很不错的社区问答系统

简介

WeCenter 是一款知识型的社交化开源社区程序,专注于企业和行业社区内容的整理、归类、检索和再发行。

为什么选择WeCenter

管理中心,一手掌控
管理中心为你建立起快速通路,所有功能开关,只需轻点一下,即可轻松完成配置,如此众多的操控,任你一挥而就

开放源码,便捷开发
WeCenter 含有多项创新功能,遵循 MVC 架构,充分利用当下最新技术,对于开发者来说都会大有帮助,二次开发,更强定制,更易上手

个性路由,个性定制
WeCenter 让你用你喜欢的方式,更灵活地定制 URL 路由,URL 地址不再是千篇一律的样式,在 SEO 优化上祝你一臂之力
设计之妙,上手即知
我们创造的每一件产品,从来都不仅仅追求设计的美观。我们在考虑设计的同时,更希望用户更能容易定制模板,最终我们选择了 Bootstrap,定制模板时你会发现一切都是那么的方便,简易

安装初体验

从官网下载源代码后将UPLOAD放入你的http服务器入目下,开始安装体验之旅

QQ图片20160425102527.png

原文地址:http://www.kailing.pub/article ... .html
继续阅读 »
前言

之前学习Lucene和ElasticSearch的时候经常逛逛Elastic的中文社区,发现社区做的蛮不错的,风格和ui都比较清新,今天突然看到了一个站和其风格类似,我就肯定是个开源的产品二次开发的,后来发现了WeCenter,一个很不错的社区问答系统

简介

WeCenter 是一款知识型的社交化开源社区程序,专注于企业和行业社区内容的整理、归类、检索和再发行。

为什么选择WeCenter

管理中心,一手掌控
管理中心为你建立起快速通路,所有功能开关,只需轻点一下,即可轻松完成配置,如此众多的操控,任你一挥而就

开放源码,便捷开发
WeCenter 含有多项创新功能,遵循 MVC 架构,充分利用当下最新技术,对于开发者来说都会大有帮助,二次开发,更强定制,更易上手

个性路由,个性定制
WeCenter 让你用你喜欢的方式,更灵活地定制 URL 路由,URL 地址不再是千篇一律的样式,在 SEO 优化上祝你一臂之力
设计之妙,上手即知
我们创造的每一件产品,从来都不仅仅追求设计的美观。我们在考虑设计的同时,更希望用户更能容易定制模板,最终我们选择了 Bootstrap,定制模板时你会发现一切都是那么的方便,简易

安装初体验

从官网下载源代码后将UPLOAD放入你的http服务器入目下,开始安装体验之旅

QQ图片20160425102527.png

原文地址:http://www.kailing.pub/article ... .html 收起阅读 »

elasticearch,jdk,maven安装


  
安装jdk

下载地址

http://www.oracle.com/technetw ... .html

 


 
 
 

JAVA_HOME  :   E:\Java\jdk1.7.0

 

Path   :  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

CLASSPATH  : .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 

 

 

首先下载最新的elasticsearch安装版本

https://www.elastic.co/downloads/elasticsearch

 

安装插件

elasticsearch插件elasticsearch-head安装: plugininstall mobz/elasticsearch-head

 

elasticsearch插件bigdesk安装:plugininstall lukas-vlcek/bigdesk

 

前台运行es

在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令: elasticsearch

后台运行es

进入E:\Install_SoftWare\elasticsearch2.2.0\bin

注册服务  service.bat install
 

 

内存分配

打开E:\Install_SoftWare\elasticsearch2.2.0\bin\service.bat
 

或着修改注册表参数

打开regedit

 

 

全路径:hkey_local_machine/software/wow6432node/apacheSoftware foundation/procrun2.0/elasticsearch-service-x64/java

 

启动成功如下图
简单查询
复杂查询
elasticsearch.yml文件配置

 

cluster.name: pq  es名称 

 

node.name: node10 节点名称 

 

node.master: true 设为主节点

node.master: false 不为主节点

 

node.data: false 不存储数据

node.data:true  存储数据

 

组合master, data

Master=true, data=false  该节点做为主节点

Master=true, data=true  该节点既是主节点又是数据节点

Master=false, data=true  该节点做为数据节点

Master=false, data= false 该节点做为负载均衡节点

 

 

 

path.data: G:\es_data,F:\es_data  数据存储路径  只有数据节点存储数据

 

path.logs: D:\es_logs  日志存储路径

 

bootstrap.mlockall: true  用来锁定内存

 

network.host: 0.0.0.0  设置ip

http.port: 9200  设置http端口

transport.tcp.port: 9300  设置tcp端口

discovery.zen.ping.unicast.hosts:["0.0.*.*","*.*.*.*:9300"]设置群集ip地址

 

 

 

分词安装(IK分词)

Maven环境配置

官方下载地址:http://maven.apache.org/download.html
 
 
 


 

 

 https://github.com/medcl/elasticsearch-analysis-ik下载地址

 

把下载的elasticsearch-analysis-ik.zip 解压。

 

 Maven 打包

进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
 

然后在elasticsearch-2.2.0/plugins下创建目录 ik
 

然后将打包后的elasticsearch-analysis-ik-1.8.0.jar 放入当前目录下
 

 

Maven 打包命令  mvn clean   package

 

在 Elasticsearch 的config下的elasticsearch.yml文件中,添加如下代码。 设置(2.0以上可以不设置)。1.  index:  2.        analysis:                     3.          analyzer:        4.            ik:  5.               alias: [ik_analyzer]  6.                type:org.elasticsearch.index.analysis.IkAnalyzerProvider  7.            ik_max_word:  8.                type: ik 9.                use_smart: false  10.           ik_smart:  11.               type: ik  12.              use_smart: true或者简单配置:index.analysis.analyzer.ik.type : “ik”

 

分词测试

  http://127.0.0.0:9215/index/_a ... true/

post

{"text":"刑事判决书"}、
 

 

 

详细ik分词配置网址

http://www.sojson.com/blog/82
继续阅读 »

  
安装jdk

下载地址

http://www.oracle.com/technetw ... .html

 


 
 
 

JAVA_HOME  :   E:\Java\jdk1.7.0

 

Path   :  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

CLASSPATH  : .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 

 

 

首先下载最新的elasticsearch安装版本

https://www.elastic.co/downloads/elasticsearch

 

安装插件

elasticsearch插件elasticsearch-head安装: plugininstall mobz/elasticsearch-head

 

elasticsearch插件bigdesk安装:plugininstall lukas-vlcek/bigdesk

 

前台运行es

在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令: elasticsearch

后台运行es

进入E:\Install_SoftWare\elasticsearch2.2.0\bin

注册服务  service.bat install
 

 

内存分配

打开E:\Install_SoftWare\elasticsearch2.2.0\bin\service.bat
 

或着修改注册表参数

打开regedit

 

 

全路径:hkey_local_machine/software/wow6432node/apacheSoftware foundation/procrun2.0/elasticsearch-service-x64/java

 

启动成功如下图
简单查询
复杂查询
elasticsearch.yml文件配置

 

cluster.name: pq  es名称 

 

node.name: node10 节点名称 

 

node.master: true 设为主节点

node.master: false 不为主节点

 

node.data: false 不存储数据

node.data:true  存储数据

 

组合master, data

Master=true, data=false  该节点做为主节点

Master=true, data=true  该节点既是主节点又是数据节点

Master=false, data=true  该节点做为数据节点

Master=false, data= false 该节点做为负载均衡节点

 

 

 

path.data: G:\es_data,F:\es_data  数据存储路径  只有数据节点存储数据

 

path.logs: D:\es_logs  日志存储路径

 

bootstrap.mlockall: true  用来锁定内存

 

network.host: 0.0.0.0  设置ip

http.port: 9200  设置http端口

transport.tcp.port: 9300  设置tcp端口

discovery.zen.ping.unicast.hosts:["0.0.*.*","*.*.*.*:9300"]设置群集ip地址

 

 

 

分词安装(IK分词)

Maven环境配置

官方下载地址:http://maven.apache.org/download.html
 
 
 


 

 

 https://github.com/medcl/elasticsearch-analysis-ik下载地址

 

把下载的elasticsearch-analysis-ik.zip 解压。

 

 Maven 打包

进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
 

然后在elasticsearch-2.2.0/plugins下创建目录 ik
 

然后将打包后的elasticsearch-analysis-ik-1.8.0.jar 放入当前目录下
 

 

Maven 打包命令  mvn clean   package

 

在 Elasticsearch 的config下的elasticsearch.yml文件中,添加如下代码。 设置(2.0以上可以不设置)。1.  index:  2.        analysis:                     3.          analyzer:        4.            ik:  5.               alias: [ik_analyzer]  6.                type:org.elasticsearch.index.analysis.IkAnalyzerProvider  7.            ik_max_word:  8.                type: ik 9.                use_smart: false  10.           ik_smart:  11.               type: ik  12.              use_smart: true或者简单配置:index.analysis.analyzer.ik.type : “ik”

 

分词测试

  http://127.0.0.0:9215/index/_a ... true/

post

{"text":"刑事判决书"}、
 

 

 

详细ik分词配置网址

http://www.sojson.com/blog/82 收起阅读 »

elasticsearch读取多个redis值

input{
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-ljk-screen"
        codec => json
        type=>"ljkscreen"
    }
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-kg-media"
        codec => json
                type=>"kgmedia"
                
    }
}
继续阅读 »
input{
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-ljk-screen"
        codec => json
        type=>"ljkscreen"
    }
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-kg-media"
        codec => json
                type=>"kgmedia"
                
    }
} 收起阅读 »

首届ES中文社区技术沙龙【广州站】—企业级搜索引擎与大数据实战分享

从2015年后,大数据被认为是驱动企业变革的推动剂,为经济创新带来新的增量。ElasticSearch(下文简称ES)是当前流行的企业级搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎。简言之,大数据时代ES能够提供简单易用的方式帮助企业从大型数据库中快速提取有效信息进行分析。

2016年首届ES中文社区全国巡回技术沙龙在北京、上海、广州三地召开。ES中文社区携手数说故事共同主办 ElasticSearch技术沙龙-广州站,诚邀您参加交流。

4月23日14:00 - 17:30,广州筑梦咖啡,我们不见不散。


沙龙详情:

1、主办方:
    
 ElasticSearch中文社区    数说故事

666666.jpg


2、时间与地点:


4月23日14:00 - 17:30(周六)

广州筑梦咖啡(广州天河区黄埔大道中309号羊城创意产业园(近骏景花园)

搜狗截图16年04月15日1428_1.png



沙龙主题:

ElasticSearch技术沙龙—企业级搜索引擎实战与案例分享

 
分享一:你不得不知道的ES的使用经验及优化技巧


YY.jpg


赖鸿智

欢聚时代搜索工程师,负责欢聚时代搜索服务

主题简介:

ES使用中掉过的坑以及优化技巧,主要包括:搜索平台的架构,实时大数据分析平台的架构。

 

分享二: 基于父子文档实现的ES关联查询


QQ图片20160415200715_副本.jpg



黄耀鸿

数说故事技术总监,多年大数据开发经验

主题简介:

为你解答在千万级用户和发布的亿级文章内容中,如何利用父子文档,通过一对多的关联查询,实现对内容搜索,对用户分析的场景。

 

分享三:ES实战现场:亿级规模的ES查询优化实战



jincheng1.jpg


                                                                                              何金城

塔布高级数据项目经理

主题简介:

在传统家电企业的DMP系统实施实战中ES的一些使用情况及查询优化实践。


活动流程:

14:00-14:30  签到及入场
14:30-14:40  主持人介绍活动
14:40-15:20  赖鸿智    Elasticsearch的一些使用经验及优化技巧
15:20-16:00  黄耀鸿    基于父子文档实现的ES关联查询
16:00-16:40  何金城    亿级规模的ES查询优化实战
16:40-17:10  提问交流   可获精美礼品
17:10-17:30  自由沟通


哪些惊喜:

企业级搜索引擎全程干货的分享

免费领取由ElasticSearch中文社区提供的限量版礼品

有机会参观大数据公司【数说故事】,近距离了解大数据工作流程


报名方式:

本次活动全程免费,欢迎报名
 
报名入口:活动行

活动联系:
联系人:陈小姐
手机:13660037521
邮箱:625802461@qq.com


更多活动详情扫描二维码关注数说故事

【logo】数说故事(datastory2015).jpg


(公众号:datastory2015)      
继续阅读 »
从2015年后,大数据被认为是驱动企业变革的推动剂,为经济创新带来新的增量。ElasticSearch(下文简称ES)是当前流行的企业级搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎。简言之,大数据时代ES能够提供简单易用的方式帮助企业从大型数据库中快速提取有效信息进行分析。

2016年首届ES中文社区全国巡回技术沙龙在北京、上海、广州三地召开。ES中文社区携手数说故事共同主办 ElasticSearch技术沙龙-广州站,诚邀您参加交流。

4月23日14:00 - 17:30,广州筑梦咖啡,我们不见不散。


沙龙详情:

1、主办方:
    
 ElasticSearch中文社区    数说故事

666666.jpg


2、时间与地点:


4月23日14:00 - 17:30(周六)

广州筑梦咖啡(广州天河区黄埔大道中309号羊城创意产业园(近骏景花园)

搜狗截图16年04月15日1428_1.png



沙龙主题:

ElasticSearch技术沙龙—企业级搜索引擎实战与案例分享

 
分享一:你不得不知道的ES的使用经验及优化技巧


YY.jpg


赖鸿智

欢聚时代搜索工程师,负责欢聚时代搜索服务

主题简介:

ES使用中掉过的坑以及优化技巧,主要包括:搜索平台的架构,实时大数据分析平台的架构。

 

分享二: 基于父子文档实现的ES关联查询


QQ图片20160415200715_副本.jpg



黄耀鸿

数说故事技术总监,多年大数据开发经验

主题简介:

为你解答在千万级用户和发布的亿级文章内容中,如何利用父子文档,通过一对多的关联查询,实现对内容搜索,对用户分析的场景。

 

分享三:ES实战现场:亿级规模的ES查询优化实战



jincheng1.jpg


                                                                                              何金城

塔布高级数据项目经理

主题简介:

在传统家电企业的DMP系统实施实战中ES的一些使用情况及查询优化实践。


活动流程:

14:00-14:30  签到及入场
14:30-14:40  主持人介绍活动
14:40-15:20  赖鸿智    Elasticsearch的一些使用经验及优化技巧
15:20-16:00  黄耀鸿    基于父子文档实现的ES关联查询
16:00-16:40  何金城    亿级规模的ES查询优化实战
16:40-17:10  提问交流   可获精美礼品
17:10-17:30  自由沟通


哪些惊喜:

企业级搜索引擎全程干货的分享

免费领取由ElasticSearch中文社区提供的限量版礼品

有机会参观大数据公司【数说故事】,近距离了解大数据工作流程


报名方式:

本次活动全程免费,欢迎报名
 
报名入口:活动行

活动联系:
联系人:陈小姐
手机:13660037521
邮箱:625802461@qq.com


更多活动详情扫描二维码关注数说故事

【logo】数说故事(datastory2015).jpg


(公众号:datastory2015)       收起阅读 »

ES中文社区logo



我试试怎么用


我试试怎么用

Elastic 为 Elastic Stack 带来新的 Graph 实时图分析功能

Mountain View, Calif. and Amsterdam, The Netherlands – March 30, 2016,英文原文

BestBuy2-768x414.jpg


Elastic 今天宣布发布一个新的用于 Elasticsearch 和 Kibana 的插件,通过它们您可以很方便的发现、理解和探索您现有数据之间的关系。通过结合速度与相关度的搜索与图分析,Graph 已开启一页新的篇章同时为 Elastic Stack 带来更多的使用场景。
 
“我们构建 Graph 来帮助您以更多的方式来分析您存储在 Elasticsearch 中的数据” -- Steve Kearns,Elastic 高级产品总监提到, “通过把相关度作为切入点来查看数据间的关系,以前需要涉及到多个系统、批量作业甚至机器学习才能做到的事情,现在变成容易解决的问题。”

Graph 为 Elastic Stack 开启新的使用场景

当您往 Elasticsearch 存储数据时 -- 产品信息、用户资料、文档、日志 -- 这些数据通常会包含对象(实体、人员、角色或者机器等)之间的引用关系。最好的探索这些关系的方法就是以可视化的方式去查看,Graph 通过以 Kibana 插件的方式提供了这样的能力。和 Elastic 的所有产品一样,它的 UI 界面设计简单易用,API 接口丰富强大,借助于 Elastic 在相关性评分的丰富经验,挖掘出您数据中最有价值的关系信息。这种独特的图形探索方式,并且无需引入新的索引格式,允许用户直接查询现有的数据,为 Elastic Stack 打开了一个新的更广泛的使用场景。

Graph 让一些复杂问题和场景(如行为分析、反欺诈、网络安全、药物发现、个性化医疗,或者基于持续的实时数据构建个性化推荐)的处理变得简单。Graph 通过相关性评分计算分离噪音和有用信息,自动识别最重要的这些关系。由于构建于 Elasticsearch 之上,Graph 天然具备高可用和近实时的能力。

Graph 为关系性探索带来相关度

当数据添加到 Elasticsearch 后,索引进程会跟踪和记录该文档每个字段每个值,更新全局词频信息,并准备相关数据用于大的范围查询。这些统计信息还被用来计算搜索的相关度以及有效的用于 Aggregation 中。通过 Graph,Elastic Stack 将以一种新的方式来使用这些统计信息 -- 首先是识别文档间的关系,然后再为指定查询按最相关的关系进行优先级排序处理。

相比之下,传统的图分析技术仅基于给定关系的简单的频次统计。这种方法的缺点是关系连接最多的元素 -- 如《肖申克的救赎》的电影推荐指数或在星巴克的信用卡购买数据 -- 被认为是最重要的而返回但不一定最有价值。Elasticsearch 中的 Graph,相关度会根据与每个关系的重要程度来进行计算而不是简单的平均处理,返回的是重要的结果,避免出现频繁或平常的连接关系

“Graph 是一个极好的例子,让大家看到我们的产品所带来的无限可能性以及我们如何努力让我们的用户尽可能容易的得益于 Elastic Stack。” -- Shay Banon,Elastic CTO 与联合创始人说 -- “我很自豪地看到我们的公司在持续创新,然后也迫不及待的想要看到我们的客户采用 Graph 这种新方法来解决真正具有挑战性的问题和案例.”

了解更多:
Graph 产品首页
观看 Graph 在线研讨会
 
关于 Elastic
Elastic 是世界领先的软件提供商,致力于结构化和非结构化数据的实时可用性,用户场景包括搜索、日志和数据分析等领域。公司由 Elasticsearch、Kibana、Logstash 和 Beats 这些开源项目背后的开发人员于2012年创立,Elastic Stack、X-Pack 和 Elastic Cloud 这些产品迄今累计已超过5千万次下载。
Elastic 由 Benchmark Capital、Index Ventures 及 NEA 投资,总部位于阿姆斯特丹和加州山景城,公司员工及办事处遍布全球各地。欲了解更多,请访问 http://elastic.co
继续阅读 »
Mountain View, Calif. and Amsterdam, The Netherlands – March 30, 2016,英文原文

BestBuy2-768x414.jpg


Elastic 今天宣布发布一个新的用于 Elasticsearch 和 Kibana 的插件,通过它们您可以很方便的发现、理解和探索您现有数据之间的关系。通过结合速度与相关度的搜索与图分析,Graph 已开启一页新的篇章同时为 Elastic Stack 带来更多的使用场景。
 
“我们构建 Graph 来帮助您以更多的方式来分析您存储在 Elasticsearch 中的数据” -- Steve Kearns,Elastic 高级产品总监提到, “通过把相关度作为切入点来查看数据间的关系,以前需要涉及到多个系统、批量作业甚至机器学习才能做到的事情,现在变成容易解决的问题。”

Graph 为 Elastic Stack 开启新的使用场景

当您往 Elasticsearch 存储数据时 -- 产品信息、用户资料、文档、日志 -- 这些数据通常会包含对象(实体、人员、角色或者机器等)之间的引用关系。最好的探索这些关系的方法就是以可视化的方式去查看,Graph 通过以 Kibana 插件的方式提供了这样的能力。和 Elastic 的所有产品一样,它的 UI 界面设计简单易用,API 接口丰富强大,借助于 Elastic 在相关性评分的丰富经验,挖掘出您数据中最有价值的关系信息。这种独特的图形探索方式,并且无需引入新的索引格式,允许用户直接查询现有的数据,为 Elastic Stack 打开了一个新的更广泛的使用场景。

Graph 让一些复杂问题和场景(如行为分析、反欺诈、网络安全、药物发现、个性化医疗,或者基于持续的实时数据构建个性化推荐)的处理变得简单。Graph 通过相关性评分计算分离噪音和有用信息,自动识别最重要的这些关系。由于构建于 Elasticsearch 之上,Graph 天然具备高可用和近实时的能力。

Graph 为关系性探索带来相关度

当数据添加到 Elasticsearch 后,索引进程会跟踪和记录该文档每个字段每个值,更新全局词频信息,并准备相关数据用于大的范围查询。这些统计信息还被用来计算搜索的相关度以及有效的用于 Aggregation 中。通过 Graph,Elastic Stack 将以一种新的方式来使用这些统计信息 -- 首先是识别文档间的关系,然后再为指定查询按最相关的关系进行优先级排序处理。

相比之下,传统的图分析技术仅基于给定关系的简单的频次统计。这种方法的缺点是关系连接最多的元素 -- 如《肖申克的救赎》的电影推荐指数或在星巴克的信用卡购买数据 -- 被认为是最重要的而返回但不一定最有价值。Elasticsearch 中的 Graph,相关度会根据与每个关系的重要程度来进行计算而不是简单的平均处理,返回的是重要的结果,避免出现频繁或平常的连接关系

“Graph 是一个极好的例子,让大家看到我们的产品所带来的无限可能性以及我们如何努力让我们的用户尽可能容易的得益于 Elastic Stack。” -- Shay Banon,Elastic CTO 与联合创始人说 -- “我很自豪地看到我们的公司在持续创新,然后也迫不及待的想要看到我们的客户采用 Graph 这种新方法来解决真正具有挑战性的问题和案例.”

了解更多:
Graph 产品首页
观看 Graph 在线研讨会
 
关于 Elastic
Elastic 是世界领先的软件提供商,致力于结构化和非结构化数据的实时可用性,用户场景包括搜索、日志和数据分析等领域。公司由 Elasticsearch、Kibana、Logstash 和 Beats 这些开源项目背后的开发人员于2012年创立,Elastic Stack、X-Pack 和 Elastic Cloud 这些产品迄今累计已超过5千万次下载。
Elastic 由 Benchmark Capital、Index Ventures 及 NEA 投资,总部位于阿姆斯特丹和加州山景城,公司员工及办事处遍布全球各地。欲了解更多,请访问 http://elastic.co收起阅读 »

ElasticSearch插件集

ElasticSearch的很多功能都是官方或第三方基于ElasticSearch的AbstractPlugin类实现的插件来提供的,所以,在里里记录下一些常用的及实用的插件地址,以备不时之需

分词插件

Combo Analysis Plugin (作者 Olivier Favre, Yakaz)

简介:组合分词器,可以把多个分词器的结果组合在一起。

Smart Chinese Analysis Plugin (作者 elasticsearch 团队)

简介:lucene默认的中文分词器

ICU Analysis plugin (作者 elasticsearch 团队)

简介:lucene自带的ICU分词,ICU是一套稳定、成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包。

Stempel (Polish) Analysis plugin (作者 elasticsearch 团队)

简介:法文分词器

IK Analysis Plugin (作者 Medcl)

简介:大名鼎鼎的ik分词,都懂的!

Mmseg Analysis Plugin (作者 Medcl)

简介:mmseg中文分词

Hunspell Analysis Plugin (作者 Jörg Prante)

简介:lucene自带的Hunspell模块

Japanese (Kuromoji) Analysis plugin (作者 elasticsearch 团队).

简介:日文分词器

Japanese Analysis plugin (作者 suguru).

简介:日文分词器

Russian and English Morphological Analysis Plugin (作者 Igor Motov)

简介:俄文英文分词器

Pinyin Analysis Plugin (作者 Medcl)

简介:拼音分词器

String2Integer Analysis Plugin (作者 Medcl)

简介:字符串转整型工具。主要用在facet这个功能上,如果facet的field的值是字符串的话,计算起来比较耗资源。可以把字符串映射成整型,对整型进行facet操作要比对字符串的快很多。

同步插件

CouchDB River Plugin (作者 elasticsearch 团队)

简介:CouchDB和elasticsearch的同步插件

Wikipedia River Plugin (作者 elasticsearch 团队)

简介:wikipedia文件读取插件。wikipedia是维基百科的一个离线库,不定期发布最新数据,是以xml形式发布的。这个river读取这个文件来建索引。

Twitter River Plugin (作者 elasticsearch 团队)

简介:twitter的同步插件,可以同步你twitter上的微博。

RabbitMQ River Plugin (作者 elasticsearch 团队)

简介:rabbitmq同步插件,读取rabbitmq上的队列信息并索引。

RSS River Plugin (作者 David Pilato)

简介:定期索引指定一个或多个RSS源的数据。

MongoDB River Plugin (作者 Richard Louapre)

简介:mongodb同步插件,mongodb必须搭成副本集的模式,因为这个插件的原理是通过定期读取mongodb中的oplog来同步数据。

Open Archives Initiative (OAI) River Plugin (作者 Jörg Prante)

简介:可以索引oai数据提供者提供的数据。

Sofa River Plugin (作者 adamlofts)

简介:这个插件可以把多个CouchDB的数据库同步到同一个es索引中。

JDBC River Plugin (作者 Jörg Prante)

简介:关系型数据库的同步插件

FileSystem River Plugin (作者 David Pilato)

简介:本地文件系统文件同步插件,使用方法是指定一个本地目录路径,es会定期扫描索引该目录下的文件。

LDAP River Plugin (作者 Tanguy Leroux)

简介:索引LDAP目录下的文件数据。

Dropbox River Plugin (作者 David Pilato)

简介:索引dropbox网盘上的文件。通过oauth协议来调用dropbox上的api建索引。

ActiveMQ River Plugin (作者 Dominik Dorn)

简介:activemq队列的同步插件,和之前rabbitmq的类似

Solr River Plugin (作者 Luca Cavanna)

简介:solr同步插件,可以把solr里面的索引同步到es

CSV River Plugin (作者 Martin Bednar)

简介:通过指定目录地址来索引csv文件。

数据传输插件

Servlet transport (作者 elasticsearch 团队)

简介:Servlet rest插件,通过servlet来封装rest接口。

Memcached transport plugin (作者 elasticsearch 团队)

简介:本插件可以通过memcached协议进行rest接口的调用。注意:这里不是使用memcache作为es的缓存。

Thrift Transport (作者 elasticsearch 团队)

简介:使用thrift进行数据传输。

ZeroMQ transport layer plugin (作者 Tanguy Leroux)

简介:使用zeromq进rest接口的调用。

Jetty HTTP transport plugin (作者 Sonian Inc.)

简介:使用jetty来提供http rest接口。默认是使用netty。这个插件的好处是可以对http接口进行一些权限的设置。

脚本插件

Python language Plugin (作者 elasticsearch 团队)

简介:python脚本支持

JavaScript language Plugin (作者 elasticsearch 团队)

简介:javascript脚本支持

Groovy lang Plugin (作者 elasticsearch 团队)

简介:groovy脚本支持

Clojure Language Plugin (作者 Kevin Downey)

简介:clojure脚本支持

站点插件(以网页形式展现)

BigDesk Plugin (作者 Lukáš Vlček)

简介:监控es状态的插件,推荐!

Elasticsearch Head Plugin (作者 Ben Birch)

简介:很方便对es进行各种操作的客户端。

Paramedic Plugin (作者 Karel Minařík)

简介:es监控插件

SegmentSpy Plugin (作者 Zachary Tong)

简介:查看es索引segment状态的插件

Inquisitor Plugin (作者 Zachary Tong)

简介:这个插件主要用来调试你的查询。

其它插件

Mapper Attachments Type plugin (作者 elasticsearch 团队)

简介:附件类型插件,通过tika库把各种类型的文件格式解析成字符串。

Hadoop Plugin (作者 elasticsearch team)

简介:hadoop和elasticsearch的集成插件,可以通过hadoop的mapreduce算法来并行建立索引,同时支持cascading,hive和pig等框架。

AWS Cloud Plugin (作者 elasticsearch 团队)

简介:elasticsearch与amazon web services的集成。

ElasticSearch Mock Solr Plugin (作者 Matt Weber)

简介:elasticsearch的solr api接口。用了这个插件可以使用solr的api来调用es,直接用solrj就可以调用es。比较适用于从solr转es时暂时过度。

Suggester Plugin (作者 Alexander Reelsen)

简介:es 搜索提示功能插件,不过es0.9版本后自带了这个功能,

ElasticSearch PartialUpdate Plugin (作者 Medcl)

简介:elasticsearch的部分更新插件。

ZooKeeper Discovery Plugin (作者 Sonian Inc.)

简介:通过zookeeper管理集群的插件。通过这个插件,es的分布式架构和solrcloud相似。

ElasticSearch Changes Plugin (作者 Thomas Peuss)

简介:elasticsearch索引操作记录插件。通过这个插件可以查看用户对索引的增删改操作。

ElasticSearch View Plugin (作者 Tanguy Leroux)

简介:这个插件可以把es的文档以html,xml或text的方式显示出来,它也可以通过查询生成web页面。

ElasticSearch New Relic Plugin (作者 Vinicius Carvalho)

简介:elasticsearch和newrelic的集成插件。newrelica是一个性能监控工具。这个插件会把节点的状态数据传到newrelic的账号上。
社区的编辑器好像不支持复制富文本信息,所以插件都没有链接,插件太多懒得一个个打链接了,想点地址的可以移步寒舍http://www.kailing.pub/article/index/arcid/87.html
 
继续阅读 »
ElasticSearch的很多功能都是官方或第三方基于ElasticSearch的AbstractPlugin类实现的插件来提供的,所以,在里里记录下一些常用的及实用的插件地址,以备不时之需

分词插件

Combo Analysis Plugin (作者 Olivier Favre, Yakaz)

简介:组合分词器,可以把多个分词器的结果组合在一起。

Smart Chinese Analysis Plugin (作者 elasticsearch 团队)

简介:lucene默认的中文分词器

ICU Analysis plugin (作者 elasticsearch 团队)

简介:lucene自带的ICU分词,ICU是一套稳定、成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包。

Stempel (Polish) Analysis plugin (作者 elasticsearch 团队)

简介:法文分词器

IK Analysis Plugin (作者 Medcl)

简介:大名鼎鼎的ik分词,都懂的!

Mmseg Analysis Plugin (作者 Medcl)

简介:mmseg中文分词

Hunspell Analysis Plugin (作者 Jörg Prante)

简介:lucene自带的Hunspell模块

Japanese (Kuromoji) Analysis plugin (作者 elasticsearch 团队).

简介:日文分词器

Japanese Analysis plugin (作者 suguru).

简介:日文分词器

Russian and English Morphological Analysis Plugin (作者 Igor Motov)

简介:俄文英文分词器

Pinyin Analysis Plugin (作者 Medcl)

简介:拼音分词器

String2Integer Analysis Plugin (作者 Medcl)

简介:字符串转整型工具。主要用在facet这个功能上,如果facet的field的值是字符串的话,计算起来比较耗资源。可以把字符串映射成整型,对整型进行facet操作要比对字符串的快很多。

同步插件

CouchDB River Plugin (作者 elasticsearch 团队)

简介:CouchDB和elasticsearch的同步插件

Wikipedia River Plugin (作者 elasticsearch 团队)

简介:wikipedia文件读取插件。wikipedia是维基百科的一个离线库,不定期发布最新数据,是以xml形式发布的。这个river读取这个文件来建索引。

Twitter River Plugin (作者 elasticsearch 团队)

简介:twitter的同步插件,可以同步你twitter上的微博。

RabbitMQ River Plugin (作者 elasticsearch 团队)

简介:rabbitmq同步插件,读取rabbitmq上的队列信息并索引。

RSS River Plugin (作者 David Pilato)

简介:定期索引指定一个或多个RSS源的数据。

MongoDB River Plugin (作者 Richard Louapre)

简介:mongodb同步插件,mongodb必须搭成副本集的模式,因为这个插件的原理是通过定期读取mongodb中的oplog来同步数据。

Open Archives Initiative (OAI) River Plugin (作者 Jörg Prante)

简介:可以索引oai数据提供者提供的数据。

Sofa River Plugin (作者 adamlofts)

简介:这个插件可以把多个CouchDB的数据库同步到同一个es索引中。

JDBC River Plugin (作者 Jörg Prante)

简介:关系型数据库的同步插件

FileSystem River Plugin (作者 David Pilato)

简介:本地文件系统文件同步插件,使用方法是指定一个本地目录路径,es会定期扫描索引该目录下的文件。

LDAP River Plugin (作者 Tanguy Leroux)

简介:索引LDAP目录下的文件数据。

Dropbox River Plugin (作者 David Pilato)

简介:索引dropbox网盘上的文件。通过oauth协议来调用dropbox上的api建索引。

ActiveMQ River Plugin (作者 Dominik Dorn)

简介:activemq队列的同步插件,和之前rabbitmq的类似

Solr River Plugin (作者 Luca Cavanna)

简介:solr同步插件,可以把solr里面的索引同步到es

CSV River Plugin (作者 Martin Bednar)

简介:通过指定目录地址来索引csv文件。

数据传输插件

Servlet transport (作者 elasticsearch 团队)

简介:Servlet rest插件,通过servlet来封装rest接口。

Memcached transport plugin (作者 elasticsearch 团队)

简介:本插件可以通过memcached协议进行rest接口的调用。注意:这里不是使用memcache作为es的缓存。

Thrift Transport (作者 elasticsearch 团队)

简介:使用thrift进行数据传输。

ZeroMQ transport layer plugin (作者 Tanguy Leroux)

简介:使用zeromq进rest接口的调用。

Jetty HTTP transport plugin (作者 Sonian Inc.)

简介:使用jetty来提供http rest接口。默认是使用netty。这个插件的好处是可以对http接口进行一些权限的设置。

脚本插件

Python language Plugin (作者 elasticsearch 团队)

简介:python脚本支持

JavaScript language Plugin (作者 elasticsearch 团队)

简介:javascript脚本支持

Groovy lang Plugin (作者 elasticsearch 团队)

简介:groovy脚本支持

Clojure Language Plugin (作者 Kevin Downey)

简介:clojure脚本支持

站点插件(以网页形式展现)

BigDesk Plugin (作者 Lukáš Vlček)

简介:监控es状态的插件,推荐!

Elasticsearch Head Plugin (作者 Ben Birch)

简介:很方便对es进行各种操作的客户端。

Paramedic Plugin (作者 Karel Minařík)

简介:es监控插件

SegmentSpy Plugin (作者 Zachary Tong)

简介:查看es索引segment状态的插件

Inquisitor Plugin (作者 Zachary Tong)

简介:这个插件主要用来调试你的查询。

其它插件

Mapper Attachments Type plugin (作者 elasticsearch 团队)

简介:附件类型插件,通过tika库把各种类型的文件格式解析成字符串。

Hadoop Plugin (作者 elasticsearch team)

简介:hadoop和elasticsearch的集成插件,可以通过hadoop的mapreduce算法来并行建立索引,同时支持cascading,hive和pig等框架。

AWS Cloud Plugin (作者 elasticsearch 团队)

简介:elasticsearch与amazon web services的集成。

ElasticSearch Mock Solr Plugin (作者 Matt Weber)

简介:elasticsearch的solr api接口。用了这个插件可以使用solr的api来调用es,直接用solrj就可以调用es。比较适用于从solr转es时暂时过度。

Suggester Plugin (作者 Alexander Reelsen)

简介:es 搜索提示功能插件,不过es0.9版本后自带了这个功能,

ElasticSearch PartialUpdate Plugin (作者 Medcl)

简介:elasticsearch的部分更新插件。

ZooKeeper Discovery Plugin (作者 Sonian Inc.)

简介:通过zookeeper管理集群的插件。通过这个插件,es的分布式架构和solrcloud相似。

ElasticSearch Changes Plugin (作者 Thomas Peuss)

简介:elasticsearch索引操作记录插件。通过这个插件可以查看用户对索引的增删改操作。

ElasticSearch View Plugin (作者 Tanguy Leroux)

简介:这个插件可以把es的文档以html,xml或text的方式显示出来,它也可以通过查询生成web页面。

ElasticSearch New Relic Plugin (作者 Vinicius Carvalho)

简介:elasticsearch和newrelic的集成插件。newrelica是一个性能监控工具。这个插件会把节点的状态数据传到newrelic的账号上。
社区的编辑器好像不支持复制富文本信息,所以插件都没有链接,插件太多懒得一个个打链接了,想点地址的可以移步寒舍http://www.kailing.pub/article/index/arcid/87.html
  收起阅读 »

Shanghai Elastic Meetup启动啦!

Shanghai Elastic Meetup

时间:2016年5月7日 13:30

地点:上海市徐汇区广元西路55号浩然科技大厦1808(交通大学内)

报名链接:

[Meetup](http://www.meetup.com/Shanghai ... 07915/)

[微信](https://jinshuju.net/f/Ed5I5o)

## 《ES用于时间序列存储 - Hickwall监控报警平台简介》

唐锐华  携程旅行网软件技术专家

简介:
  
  
  随着携程业务的扩张,新应用不断涌现,基础监控和应用监控的需求迅猛增长,zabbix已经不堪负重。在调研了很多开源的解决方案之后发觉或多或少都存在不太满意的地方。
  所以在借鉴多种方案的基础上重新设计开发了一套监控告警系统。其中对比过多种现有存储方案之后我们选择了ES。这里和大家分享一下这个系统和ES用在在我们场景中的优缺点。

提纲:

* 为什么会有这个项目
* 现有开源项目的调研
* 项目的整体设计与其特点
* ES在使用过程中碰到的问题

## 《ES在日志分析产品中的实践》

简介:

主要介绍如何在JAVA开发产品中使用ES,以及常用的ES JAVA接口,以及JAVA代码阅读的简单说明

2010年进入深圳天源迪科从事运营商业务系统相关的开发工作,期间做过软件开发,需求分析师,架构师等职务,后面2006年进入江苏保旺达从事安全产品相关的研发。从毕业到工作十几年的时间大部分都在做和技术相关的工作,本人非常热爱技术,热爱开发,现任赛克蓝德公司技术总监,从事数据分析领域相关产品的研发,现在主要研发日志分析产品(SeciLog)。

## 《Hangout: 一个logstash indexer的替代方案》
讲师简介:

刘佳  携程旅行网软件技术专家

简介:

logstash以其丰富的插件功能,成为ELK技术栈中不可或缺的一个组件。 但目前版本的logstash主要由jruby实现,在处理日志的吞吐量方面不尽如人意。 hangout是一个类logsatsh的java实现,提供了logstash里常用的filter功能。 这里分享一下hangout的特性,实际生产环境的吞吐量以及多实例的管理方式。

提纲:

* 为何开发hangout   
* 支持的filter
* 与logsatsh性能对比
* 影响吞吐量的主要参数及其含
* 用mesos+marathon管理hangout
    
继续阅读 »
Shanghai Elastic Meetup

时间:2016年5月7日 13:30

地点:上海市徐汇区广元西路55号浩然科技大厦1808(交通大学内)

报名链接:

[Meetup](http://www.meetup.com/Shanghai ... 07915/)

[微信](https://jinshuju.net/f/Ed5I5o)

## 《ES用于时间序列存储 - Hickwall监控报警平台简介》

唐锐华  携程旅行网软件技术专家

简介:
  
  
  随着携程业务的扩张,新应用不断涌现,基础监控和应用监控的需求迅猛增长,zabbix已经不堪负重。在调研了很多开源的解决方案之后发觉或多或少都存在不太满意的地方。
  所以在借鉴多种方案的基础上重新设计开发了一套监控告警系统。其中对比过多种现有存储方案之后我们选择了ES。这里和大家分享一下这个系统和ES用在在我们场景中的优缺点。

提纲:

* 为什么会有这个项目
* 现有开源项目的调研
* 项目的整体设计与其特点
* ES在使用过程中碰到的问题

## 《ES在日志分析产品中的实践》

简介:

主要介绍如何在JAVA开发产品中使用ES,以及常用的ES JAVA接口,以及JAVA代码阅读的简单说明

2010年进入深圳天源迪科从事运营商业务系统相关的开发工作,期间做过软件开发,需求分析师,架构师等职务,后面2006年进入江苏保旺达从事安全产品相关的研发。从毕业到工作十几年的时间大部分都在做和技术相关的工作,本人非常热爱技术,热爱开发,现任赛克蓝德公司技术总监,从事数据分析领域相关产品的研发,现在主要研发日志分析产品(SeciLog)。

## 《Hangout: 一个logstash indexer的替代方案》
讲师简介:

刘佳  携程旅行网软件技术专家

简介:

logstash以其丰富的插件功能,成为ELK技术栈中不可或缺的一个组件。 但目前版本的logstash主要由jruby实现,在处理日志的吞吐量方面不尽如人意。 hangout是一个类logsatsh的java实现,提供了logstash里常用的filter功能。 这里分享一下hangout的特性,实际生产环境的吞吐量以及多实例的管理方式。

提纲:

* 为何开发hangout   
* 支持的filter
* 与logsatsh性能对比
* 影响吞吐量的主要参数及其含
* 用mesos+marathon管理hangout
     收起阅读 »

java爬虫爬取Elastic中文社区用作es测试数据

前言
为了测试es的完美功能,笔者使用爬虫爬取了Elastic中文社区和CSDN的大量数据,作为测试之用,下面简单介绍一下折腾的过程
认识 WebCollector
WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。
WebCollector致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二次开发。内核具有很强的扩展性,用户可以在内核基础上开发自己想要的爬虫。源码中集成了Jsoup,可进行精准的网页解析。2.x版本中集成了selenium,可以处理javascript生成的数据。
官网地址:http://crawlscript.github.io/WebCollector/
使用步骤
导入jar依赖,笔者是maven项目,所有加入如下pom.xml依赖
ps:笔者这里是使用的最新版的,maven仓库目前最新版的是2.09,所以使用最新的就自己下载打包吧 
环境有了后,直接新建一个类继承BreadthCrawler类重新​visit方法,你的处理逻辑都在visit方法里面,下面楼主贴下我的代码
​爬取Elastic中文社区资源
/**
* Created by 小陈 on 2016/3/29.
*/
@Component
public class ElasticCrawler extends BreadthCrawler {
@Autowired
IpaDao ipaDao;
public ElasticCrawler() {
super("crawl", true);
/*start page*/
this.addSeed("xxx");
/*fetch url like http://news.hfut.edu.cn/show-xxxxxxhtml*/
this.addRegex("xxx");
/*do not fetch jpg|png|gif*/
this.addRegex("-.*\\.(jpg|png|gif).*");
/*do not fetch url contains #*/
// this.addRegex("-.*#.*");
}
@Override
public void visit(Page page, CrawlDatums next) {
String url = page.getUrl();
String content="";
try {
content = ContentExtractor.getContentByUrl(url);
}catch (Exception e){
e.printStackTrace();
}
/*抽取标题*/
String title=page.getDoc().title();
System.out.println("-------------------->"+title);
if(!title.isEmpty() && ! content.isEmpty()){
Pa pa=new Pa(title,content);
ipaDao.save(pa);//持久化到数据库
}
}
爬取CSDN资源
/**
* @author kl by 2016/3/29
* @boke www.kailing.pub
*/
@Component
public class CSDNCrawler extends BreadthCrawler {
@Autowired
IpaDao ipaDao;
public CSDNCrawler() {
super("crawl", true);
/*start page*/
this.addSeed("http://blog.csdn.net/.*");//添加种子地址
/*fetch url like http://news.hfut.edu.cn/show-xxxxxxhtml*/
this.addRegex("http://blog.csdn.net/.*/article/details/.*");
/*do not fetch jpg|png|gif*/
this.addRegex("-.*\\.(jpg|png|gif).*");
/*do not fetch url contains #*/
// this.addRegex("-.*#.*");
}
@Override
public void visit(Page page, CrawlDatums next) {
String url = page.getUrl();
String content="";
try {
content = ContentExtractor.getContentByUrl(url);
}catch (Exception e){
e.printStackTrace();
}
if (page.matchUrl("http://blog.csdn.net/.*/article/details/.*")) {
String title = page.select("div[class=article_title]").first().text();
String author = page.select("div[id=blog_userface]").first().text();//获取作者名
System.out.println("title:" + title + "\tauthor:" + author);
if(!title.isEmpty() && ! content.isEmpty()){
Pa pa=new Pa(title,content);
ipaDao.save(pa);
}
}
}
ps:Elastic中文社区的爬取规则和谐了,楼主是爱社区的,大家可以放心的爬CSDN吧,WebCollector功能很强大,爬虫的一个关键就是需要知道网站的url规则,有兴趣的可以研究​ 下,Elastic的数据不多,分吧钟就够了,CSDN爬了5,6分钟,没有做深度的爬,取了大概二三十万的数据样子,只取标题和正文 
 
去我博客查看原文 http://www.kailing.pub/article/index/arcid/86.html
下面是导入数据的截图

QQ图片20160329221750.png


QQ图片20160329221921.png

 
继续阅读 »
前言
为了测试es的完美功能,笔者使用爬虫爬取了Elastic中文社区和CSDN的大量数据,作为测试之用,下面简单介绍一下折腾的过程
认识 WebCollector
WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。
WebCollector致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二次开发。内核具有很强的扩展性,用户可以在内核基础上开发自己想要的爬虫。源码中集成了Jsoup,可进行精准的网页解析。2.x版本中集成了selenium,可以处理javascript生成的数据。
官网地址:http://crawlscript.github.io/WebCollector/
使用步骤
导入jar依赖,笔者是maven项目,所有加入如下pom.xml依赖
ps:笔者这里是使用的最新版的,maven仓库目前最新版的是2.09,所以使用最新的就自己下载打包吧 
环境有了后,直接新建一个类继承BreadthCrawler类重新​visit方法,你的处理逻辑都在visit方法里面,下面楼主贴下我的代码
​爬取Elastic中文社区资源
/**
* Created by 小陈 on 2016/3/29.
*/
@Component
public class ElasticCrawler extends BreadthCrawler {
@Autowired
IpaDao ipaDao;
public ElasticCrawler() {
super("crawl", true);
/*start page*/
this.addSeed("xxx");
/*fetch url like http://news.hfut.edu.cn/show-xxxxxxhtml*/
this.addRegex("xxx");
/*do not fetch jpg|png|gif*/
this.addRegex("-.*\\.(jpg|png|gif).*");
/*do not fetch url contains #*/
// this.addRegex("-.*#.*");
}
@Override
public void visit(Page page, CrawlDatums next) {
String url = page.getUrl();
String content="";
try {
content = ContentExtractor.getContentByUrl(url);
}catch (Exception e){
e.printStackTrace();
}
/*抽取标题*/
String title=page.getDoc().title();
System.out.println("-------------------->"+title);
if(!title.isEmpty() && ! content.isEmpty()){
Pa pa=new Pa(title,content);
ipaDao.save(pa);//持久化到数据库
}
}
爬取CSDN资源
/**
* @author kl by 2016/3/29
* @boke www.kailing.pub
*/
@Component
public class CSDNCrawler extends BreadthCrawler {
@Autowired
IpaDao ipaDao;
public CSDNCrawler() {
super("crawl", true);
/*start page*/
this.addSeed("http://blog.csdn.net/.*");//添加种子地址
/*fetch url like http://news.hfut.edu.cn/show-xxxxxxhtml*/
this.addRegex("http://blog.csdn.net/.*/article/details/.*");
/*do not fetch jpg|png|gif*/
this.addRegex("-.*\\.(jpg|png|gif).*");
/*do not fetch url contains #*/
// this.addRegex("-.*#.*");
}
@Override
public void visit(Page page, CrawlDatums next) {
String url = page.getUrl();
String content="";
try {
content = ContentExtractor.getContentByUrl(url);
}catch (Exception e){
e.printStackTrace();
}
if (page.matchUrl("http://blog.csdn.net/.*/article/details/.*")) {
String title = page.select("div[class=article_title]").first().text();
String author = page.select("div[id=blog_userface]").first().text();//获取作者名
System.out.println("title:" + title + "\tauthor:" + author);
if(!title.isEmpty() && ! content.isEmpty()){
Pa pa=new Pa(title,content);
ipaDao.save(pa);
}
}
}
ps:Elastic中文社区的爬取规则和谐了,楼主是爱社区的,大家可以放心的爬CSDN吧,WebCollector功能很强大,爬虫的一个关键就是需要知道网站的url规则,有兴趣的可以研究​ 下,Elastic的数据不多,分吧钟就够了,CSDN爬了5,6分钟,没有做深度的爬,取了大概二三十万的数据样子,只取标题和正文 
 
去我博客查看原文 http://www.kailing.pub/article/index/arcid/86.html
下面是导入数据的截图

QQ图片20160329221750.png


QQ图片20160329221921.png

  收起阅读 »

java使用HTTP Rest client 客户端Jest连接操作es,功能很强大

前言

在了解jest框架前,楼主一直尝试用官方的Elasticsearch java api连接es服务的,可是,不知何故,一直报如下的异常信息,谷歌了很久,都说是jvm版本不一致导致的问题,可我是本地测试的,jvm肯定是一致的,这个问题现在都木有解决,but,这怎么能阻止我探索es的脚步呢,so,让我发现了jest 这个框架   


org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
我的测试代码是参考官方api实例的,官方api地址:Elasticsearch java api,代码如下:



Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300)); QueryBuilder queryBuilder = QueryBuilders.termQuery("content", "搜"); SearchResponse searchResponse = client.prepareSearch("indexdata").setTypes("fulltext") .setQuery(queryBuilder) .execute() .actionGet(); SearchHits hits = searchResponse.getHits(); System.out.println("查询到记录数:" + hits.getTotalHits()); SearchHit[] searchHists = hits.getHits(); for(SearchHit sh : searchHists){ System.out.println("content:"+sh.getSource().get("content")); } client.close();
如果有人知道怎么回事,告诉一下楼主吧,让楼主坑的明白,感激不尽了,我的es版本是2.2.0


进入正题

了解jest

jest是一个基于 HTTP Rest 的连接es服务的api工具集,功能强大,能够使用es java api的查询语句,项目是开源的,github地址:https://github.com/searchbox-io/Jest




我的测试用例

分词器:ik,分词器地址:https://github.com/medcl/elasticsearch-analysis-ik ,es的很多功能都是基于插件提供的,es版本升级都2.2.0后,安装插件的方式不一样了,如果你安装ik分词插件有问题,请点击右上角的qq联系博主

新建索引

curl -XPUT http://localhost:9200/indexdata


创建索引的mapping,指定分词器

curl -XPOST http://localhost:9200/indexdata/fulltext/_mapping

{
  "fulltext": {
    "_all": {
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_max_word",
      "term_vector": "no",
      "store": "false"
    },
    "properties": {
      "content": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "description": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "title": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "keyword": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      }
    }
  }
}

mapping信息可以用head插件查看,如下


导入数据和查询,看代码吧


@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = ElasticSearchTestApplication.class) public class JestTestApplicationTests { @Autowired private KlarticleDao klarticleDao; //得到JestClient实例 public JestClient getClient()throws Exception{ JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builder("http://127.0.0.1:9200&quot;) .multiThreaded(true) .build()); return factory.getObject(); } /** * 导入数据库数据到es * @throws Exception */ @Test public void contextLoads() throws Exception{ JestClient client=getClient(); Listlists=klarticleDao.findAll(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); System.out.println("添加索引----》"+k.getTitle()); client.execute(index); } //批量新增的方式,效率更高 Bulk.Builder bulkBuilder = new Bulk.Builder(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); bulkBuilder.addAction(index); } client.execute(bulkBuilder.build()); client.shutdownClient(); } //搜索测试 @Test public void JestSearchTest()throws Exception{ SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.matchQuery("content", "搜索")); Search search = new Search.Builder(searchSourceBuilder.toString()) // multiple index or types can be added. .addIndex("indexdata") .build(); JestClient client =getClient(); SearchResult result= client.execute(search); // List> hits = result.getHits(Klarticle.class); Listarticles = result.getSourceAsObjectList(Klarticle.class); for(Klarticle k:articles){ System.out.println("------->:"+k.getTitle()); } } }下面是依赖的jar,maven项目<!--jest依赖--> <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>2.0.0</version> </dependency> <!--jest 日志依赖--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.2.0</version> </dependency> </dependencies>
去我的博客查看原文:http://www.kailing.pub/article/index/arcid/84.html
继续阅读 »
前言

在了解jest框架前,楼主一直尝试用官方的Elasticsearch java api连接es服务的,可是,不知何故,一直报如下的异常信息,谷歌了很久,都说是jvm版本不一致导致的问题,可我是本地测试的,jvm肯定是一致的,这个问题现在都木有解决,but,这怎么能阻止我探索es的脚步呢,so,让我发现了jest 这个框架   


org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
我的测试代码是参考官方api实例的,官方api地址:Elasticsearch java api,代码如下:



Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("127.0.0.1", 9300)); QueryBuilder queryBuilder = QueryBuilders.termQuery("content", "搜"); SearchResponse searchResponse = client.prepareSearch("indexdata").setTypes("fulltext") .setQuery(queryBuilder) .execute() .actionGet(); SearchHits hits = searchResponse.getHits(); System.out.println("查询到记录数:" + hits.getTotalHits()); SearchHit[] searchHists = hits.getHits(); for(SearchHit sh : searchHists){ System.out.println("content:"+sh.getSource().get("content")); } client.close();
如果有人知道怎么回事,告诉一下楼主吧,让楼主坑的明白,感激不尽了,我的es版本是2.2.0


进入正题

了解jest

jest是一个基于 HTTP Rest 的连接es服务的api工具集,功能强大,能够使用es java api的查询语句,项目是开源的,github地址:https://github.com/searchbox-io/Jest




我的测试用例

分词器:ik,分词器地址:https://github.com/medcl/elasticsearch-analysis-ik ,es的很多功能都是基于插件提供的,es版本升级都2.2.0后,安装插件的方式不一样了,如果你安装ik分词插件有问题,请点击右上角的qq联系博主

新建索引

curl -XPUT http://localhost:9200/indexdata


创建索引的mapping,指定分词器

curl -XPOST http://localhost:9200/indexdata/fulltext/_mapping

{
  "fulltext": {
    "_all": {
      "analyzer": "ik_max_word",
      "search_analyzer": "ik_max_word",
      "term_vector": "no",
      "store": "false"
    },
    "properties": {
      "content": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "description": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "title": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      },
      "keyword": {
        "type": "string",
        "store": "no",
        "term_vector": "with_positions_offsets",
        "analyzer": "ik_max_word",
        "search_analyzer": "ik_max_word",
        "include_in_all": "true",
        "boost": 8
      }
    }
  }
}

mapping信息可以用head插件查看,如下


导入数据和查询,看代码吧


@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = ElasticSearchTestApplication.class) public class JestTestApplicationTests { @Autowired private KlarticleDao klarticleDao; //得到JestClient实例 public JestClient getClient()throws Exception{ JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builder("http://127.0.0.1:9200&quot;) .multiThreaded(true) .build()); return factory.getObject(); } /** * 导入数据库数据到es * @throws Exception */ @Test public void contextLoads() throws Exception{ JestClient client=getClient(); Listlists=klarticleDao.findAll(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); System.out.println("添加索引----》"+k.getTitle()); client.execute(index); } //批量新增的方式,效率更高 Bulk.Builder bulkBuilder = new Bulk.Builder(); for(Klarticle k:lists){ Index index = new Index.Builder(k).index("indexdata").type("fulltext").id(k.getArcid()+"").build(); bulkBuilder.addAction(index); } client.execute(bulkBuilder.build()); client.shutdownClient(); } //搜索测试 @Test public void JestSearchTest()throws Exception{ SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(QueryBuilders.matchQuery("content", "搜索")); Search search = new Search.Builder(searchSourceBuilder.toString()) // multiple index or types can be added. .addIndex("indexdata") .build(); JestClient client =getClient(); SearchResult result= client.execute(search); // List> hits = result.getHits(Klarticle.class); Listarticles = result.getSourceAsObjectList(Klarticle.class); for(Klarticle k:articles){ System.out.println("------->:"+k.getTitle()); } } }下面是依赖的jar,maven项目<!--jest依赖--> <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>2.0.0</version> </dependency> <!--jest 日志依赖--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>2.2.0</version> </dependency> </dependencies>
去我的博客查看原文:http://www.kailing.pub/article/index/arcid/84.html 收起阅读 »