Elasticsearch
opera92
这个作者很懒,什么都没留下…
展开
-
Elasticsearch5.4 Java编程注意事项
1,集群配置1).node.master: true 指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。 2).node.data: true 指定该节点是否存储索引数据,默认为true。 4.master和data同时配置会产生一些奇异的效果: 1) 当master为false,而dat转载 2017-09-13 14:14:57 · 267 阅读 · 0 评论 -
图解Elasticsearch中的_source、_all、store和index属性
Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_source字段里存储的是什么?store属性的true或false和_source字段有什么关系?store属性设置为true和_all有什么关系?index属性又起到什么作用?什么时候设置store属性为true?什么时候应该开启_all字段?本文通过图解的方式,深入理解Elasticsearch中的_source、_all、转载 2017-11-21 17:46:03 · 479 阅读 · 0 评论 -
Elasticsearch增量索引
各版本可能配置会不一样,但大体思路是一致的:在使用 Elasticsearch 的时候,经常会涉及到要将其它数据源的数据导入到 Elasticsearch 中,今天就来介绍一下关于 Elasticsearch 从 MySQL 导入数据和增量索引的实现 这里要用到一个 Elasticsearch 的插件 elasticsearch-jdbc需要的资源和版本 Ela转载 2017-11-16 16:16:49 · 3444 阅读 · 0 评论 -
Logstash导入数据库中的数据
所需软件版本信息elasticsearch-6.0.0-beta2.msi官方下载链接:https://www.elastic.co/downlo...请选择对应的操作系统版本kibana-6.0.0-beta2-windows-x86_64.zip官方下载链接:https://www.elastic.co/downlo...请选择对应的操作系统版本lo转载 2017-11-16 17:12:33 · 2182 阅读 · 0 评论 -
利用Logstash的logstash-input-jdbc插件实现mysql增量导入ES
1, 源码地址,官方介绍2, logstash-input-jdbc使用建议3, 官网介绍例子,使用 logstash-input-jdbc 到 elasticsearch一、安装 elastisearch, logstash参考我的上一篇链接 :centos下 ELK部署文档二、安装logstash-input-jdbc插件logstash-inp转载 2017-11-16 17:18:20 · 3308 阅读 · 0 评论 -
使用Logstash-input-jdbc同步数据库中的数据(全量 和 增量)
1、数据同步方式全量同步与增量同步全量同步是指全部将数据同步到es,通常是刚建立es,第一次同步时使用。增量同步是指将后续的更新、插入记录同步到es。2、常用的一些ES同步方法1)、 elasticsearch-jdbc : 严格意义上它已经不是第三方插件。已经成为独立的第三方工具。不支持5.5.1。。。2)、elasticsearch-river-mysql插转载 2017-11-16 17:45:36 · 33759 阅读 · 14 评论 -
elasticsearch配置文件详解
elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。 cluster.name: ela转载 2017-11-16 17:48:07 · 529 阅读 · 0 评论 -
各大数据库的配置 & logstash-out-mongodb实现elasticsearch到Mongodb的数据同步
本文主要实现将Elasticsearch中的索引数据Index同步到Mongodb中的集合collection中。0、前提1)已经安装好源数据库:elasticsearch V2.X; 2)已经安装好目的数据库:Mongodb; 3)已经安装好logstash及相关插件logstash-output-mongodbGoogle、Statckoverflow上充斥着mongd转载 2017-11-16 17:49:48 · 696 阅读 · 0 评论 -
在Windows系统下搭建ELK日志分析平台
再记录一下elk的搭建,个人觉得挺麻烦的,建议还是在linux系统下搭建,性能会好一些,但我是在windows下搭建的,还是记录一下吧,像我这种记性差的人还是得靠烂笔头 简介: ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,转载 2017-11-16 17:52:25 · 402 阅读 · 0 评论 -
ElasticSearch5.4集群搭建
一、集群角色多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点。Zen发现是ES自带的默认发现机制,使用多播发现其它节点。只要启动一个新的ES节点并设置和集群相同的名称这个节点就会被加入到集群中。Elasticsearch集群中有的节点一般有三种角色:master node、data n转载 2017-12-01 10:17:11 · 825 阅读 · 0 评论 -
有用的查询
例子基本匹配查询有两种方式进行基本全文(匹配)查询:使用轻量搜索API,传递的搜索参数是URL的一部分,或者使用完整的JSON请求包,可以在包中使用完整的Elasticsearch DSL。这里有一个基本匹配查询,要在所有字段中查询字符串“guide”:GET /bookdb_index/book/_search?q=guide这个查询的完整JSON包如下,它和转载 2017-11-22 15:33:23 · 354 阅读 · 0 评论 -
Facet切面统计(高版本中为aggregations)
尽管官网上强调,facet在以后的版本中将会从elasticsearch中移除,推荐使用aggregations。但在工作上,自己还是使用了facet。在阅读《Mastering Elasticsearch》的时候,看到了对facet的介绍,介绍的非常的实用和易懂,于是就摘译了一部分出来,供需要的参考。 当使用ElasticSearch 刻面(faceting)机制时,需要牢记:刻转载 2017-11-22 16:16:06 · 483 阅读 · 0 评论 -
聚合aggregattions
metric API的使用bucketing API的使用两类API的嵌套使用1. 聚合APIES中的Aggregations API是从Facets功能基础上发展而来,官网正在进行替换计划,建议用户使用Aggregations API,而不是Facets API。ES中的聚合上可以分为下面两类:metric(度量)聚合:度量类型聚合主要针对的number类型的数据,需转载 2017-11-22 16:28:47 · 586 阅读 · 0 评论 -
过滤(只会筛选出符合的文档,并不计算得分,且它可以缓存文档,单从性能考虑,过滤比查询更快。)
其实准确来说,ES中的查询操作分为2种:查询(query)和过滤(filter)。查询即是之前提到的query查询,它(查询)默认会计算每个返回文档的得分,然后根据得分排序。而过滤(filter)只会筛选出符合的文档,并不计算得分,且它可以缓存文档。所以,单从性能考虑,过滤比查询更快。换句话说,过滤适合在大范围筛选数据,而查询则适合精确匹配数据。一般应用时,应先使用过滤操作过滤数据,然后使转载 2017-11-22 17:41:05 · 406 阅读 · 0 评论 -
date_histogram
按时间统计编辑(测试数据:http://blog.csdn.net/wwd0501/article/details/78501842)如果搜索是在 Elasticsearch 中使用频率最高的,那么构建按时间统计的 date_histogram 紧随其后。 为什么你会想用 date_histogram 呢?假设你的数据带时间戳。 无论是什么数据(Apache 事转载 2017-11-23 14:08:40 · 10384 阅读 · 0 评论 -
聚合
Elasticsearch分析聚合介绍了分析聚合的REST命令,这篇博客介绍一下如何使用Java API。一、准备数据测试数据请参考我的上一篇博客:Elasticsearch分析聚合。二、需求查询title中包含关键字”程序”的文档,统计查询按编程语言分组,统计每组的文档数量。三、REST命令行REST命令行如下,有三部分,query查询所有titl转载 2017-11-21 17:40:10 · 313 阅读 · 0 评论 -
高亮
5.1.1的搜索高亮和2.X有所变化,但是变化不大。下面分四步来介绍:创建索引(设置mapping/IK分词)、索引文档、REST API的搜索高亮、JAVA API的搜索高亮。 注:从这篇博客开始,采用简写的代码风格,也就是Sence插件或者kibana的dev tools中采用的风格。(温馨提示:安装kibana 5.1.1,在dev tools中直接可以使用简单格式命令。)一、创转载 2017-11-21 17:33:45 · 387 阅读 · 0 评论 -
Kibana + X-Pack安装
相关博文:搜索引擎ElasticSearchV5.4.2系列一之ES介绍 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+klanaV5.4.2+x-packV5.4.2安装 搜索引擎ElasticSearchV5.4.2系列三之ES使用linux & windows 安装ES参考官网:https://elast转载 2017-09-05 18:58:47 · 9554 阅读 · 4 评论 -
Logstash安装配置
阅读此文请先阅读上文:[大数据]-Elasticsearch5.3.1 IK分词,同义词/联想搜索设置,前面介绍了ES,Kibana5.3.1的安装配置,以及IK分词的安装和同义词设置,这里主要记录Logstash导入mysql数据到Elasticsearch5.3.1并设置IK分词和同义词。由于logstash配置好JDBC,ES连接之后运行脚本一站式创建index,mapping,导入数据。但转载 2017-09-05 19:14:08 · 3716 阅读 · 0 评论 -
在Windows上安装ES5.x
在Windows上安装Elasticsearch 5.x自己想学习Elasticsearch,但是又不懂Linux,按照同事给的Linux安装教程,也是搞不明白,于是想先在Windows上安装一下入门。可是百度的大部分都是ES 1.x,2.x版本的教程,5.x的教程也是搞不明白,很多步骤就直接跳过了。经过一步一步的尝试,最终还是成功了。记录下,希望对大家有所帮助。一、JAVA环境配转载 2017-08-28 14:43:12 · 1152 阅读 · 0 评论 -
ES中使用IK分词器
之前使用Elasticsearch安装head插件成功了,但是安装IK分词器却失败了。貌似是ElasticSearch5.0以后就不支持直接在elasticsearch.yml中配置IK了。原因下面会说明。 首先下载: https://www.elastic.co/downloads/elasticsearch https://github.com/medcl/elasticsearc转载 2017-09-11 14:02:32 · 7437 阅读 · 0 评论 -
ElasticSearch中的text和keyword
在 ES2.x 版本字符串数据是没有 keyword 和 text 类型的,只有string类型,ES更新到5版本后,取消了 string 数据类型,代替它的是 keyword 和 text 数据类型,那么 keyword 和 text 有什么区别了? Text 数据类型被用来索引长文本,比如说电子邮件的主体部分或者一款产品的介绍。这些文本会被分析,在建立索引前会将这些文本进行分词,转化为词的转载 2017-11-28 19:39:11 · 1390 阅读 · 0 评论 -
Elasticserch基础-01
1.厘清Elasticsearch的核心概念:(1)Near Realtime(NRT):近实时,两个意思,从写入数据到数据可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级(2)Cluster:集群,包含多个节点,每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的,对于中小型应用来说,刚开始一个集群就一个节点很正常(3)No转载 2017-11-20 19:26:51 · 222 阅读 · 0 评论 -
Elasticsearch5.4 Java API操作
public class ClientFactory { @SuppressWarnings({ "resource", "unchecked" })public static Client transportClient() {//创建clientTransportClient transportClient = null;try {//设置集群名称(配置信息)转载 2017-09-13 19:38:39 · 1710 阅读 · 0 评论 -
检索索引库(搜索操作)
上篇博客记录了如何用java调用api把数据写入索引,这次记录下如何搜索。一、准备数据 String data1 = JsonUtil.model2Json(new Blog(1, "git简介", "2016-06-19", "SVN与Git最主要的区别...")); String data2 = JsonUtil.model2Json(new Blog(2, "J转载 2017-11-21 16:07:46 · 843 阅读 · 0 评论 -
Elasticsearch生成json,创建索引(把数据写入索引中)
ElasticSearch JAVA API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html一、生成JSON创建索引的第一步是要把对象转换为JSON字符串.官网给出了四种创建JSON文档的方法:1.1手写方式生成String转载 2017-11-21 15:48:10 · 8714 阅读 · 0 评论 -
更新索引库
一、UpdateRequest创建一个UpdateRequest,然后将其发送给client.UpdateRequest uRequest = new UpdateRequest(); uRequest.index("blog"); uRequest.type("article"); uRequest.id("转载 2017-11-21 16:40:19 · 911 阅读 · 0 评论 -
删除索引、索引库、数据项
删除可以是删除整个索引库,也可以根据文档id删除索引库下的文档,还可以通过query查询条件删除所有符合条件的数据。一、删除整个索引库下面的例子会删除indexName索引:DeleteIndexResponse dResponse = client.admin().indices().prepareDelete(indexName)转载 2017-11-21 16:48:40 · 981 阅读 · 0 评论 -
批量增删改查--bulk
这篇博客介绍一下Elasticsearch对多个文档进行索引的简便方法。Bulk api的支持可以实现一次请求执行批量的添加、删除、更新等操作.Bulk操作使用的是UDP协议,UDP无法确保与ElasticSearch服务器通信时不丢失数据.一、Bulk API使用bulk命令时,REST API以_bulk结尾,批量操作写在json文件中,官网给出的语法格式:action_a转载 2017-11-21 16:58:05 · 780 阅读 · 0 评论 -
mget(可以通过索引、类型、或ID一次得到同一索引或不同索引库里的文档集合) & mapping
使用multi get API可以通过索引名、类型名、文档id一次得到一个文档集合,文档可以来自同一个索引库,也可以来自不同索引库。示例如下:MultiGetResponse multiGetItemResponses = client.prepareMultiGet() .add("twitter", "tweet", "1") //注释1转载 2017-11-21 17:20:04 · 581 阅读 · 0 评论 -
IK和pinyin分词器
一、拼音分词的应用拼音分词在日常生活中其实很常见,也许你每天都在用。打开淘宝看一看吧,输入拼音”zhonghua”,下面会有包含”zhonghua”对应的中文”中华”的商品的提示:拼音分词是根据输入的拼音提示对应的中文,通过拼音分词提升搜索体验、加快搜索速度。下面介绍如何在Elasticsearch 5.1.1中配置和实现pinyin+iK分词。二、IK分词器下转载 2017-11-21 17:31:50 · 5093 阅读 · 0 评论 -
ElasticSearch搜索提示(Suggester)
如果自己亲手去试一下,可以看到Google在用户刚开始输入的时候是自动补全的,而当输入到一定长度,如果因为单词拼写错误无法补全,就开始尝试提示相似的词。那么类似的功能在Elasticsearch里如何实现呢? 答案就在Suggesters API。 Suggesters基本的运作原理是将输入的文本分解为token,然后在索引的字典里查找相似的term并返回。 根据使用场景的不同,Elast转载 2017-11-23 14:52:59 · 6144 阅读 · 0 评论