ElasticSearch
Soyoger
申明:个人微信公众号:AI技术研习社,公众号ID:ai2club。本博客只是用来学习,并不从事任何商业活动,其内容是自己总结或者来自互联网搜索到的,并没有过多关注版权问题,如有侵权内容,请私信我进行删除,谢谢。本博客内容主要围绕计算机领域热点技术和工作内容,不涉及版权问题,任何人可以查看、转载。
展开
-
基于Fluentd的EFK日志收集方案
关于系统日志收集处理方案,其实有很多种,因为之前使用ES比较多,所以也认为ELK是一个不错的解决方案,ELK(Elasticsearch + Logstash + Kibana)来管理日志。Logstash是一个具有实时渠道能力的数据收集引擎,但和fluentd相比,它在效能上表现略逊一筹,故而逐渐被fluentd取代,ELK也随之变成EFK。EFK由ElasticSearch、Fluentd...原创 2018-10-24 14:00:24 · 4382 阅读 · 0 评论 -
Elasticsearch教程 IK分词器安装
首先说说分词器,分词,英语分词很好分,就是按固定的英文的空格,或者“-”。中文分词就稍微有点复杂了,而 Elasticsearch 默认是带分词器了,我们来测试一下。http://123.88.88.88:9200/_analyze?analyzer=standard&pretty=true&text=sojson在线工具得出的结果如下:{ "tokens转载 2018-01-11 15:58:24 · 1128 阅读 · 2 评论 -
elasticsearch的python接口使用
elasticsearch-pyInstallationeditIt can be installed with pip:pip install elasticsearchThe legacy version for Elasticsearch version 2.x can be installed with pip:pip install elastic原创 2017-11-20 17:37:32 · 2432 阅读 · 0 评论 -
Elasticsearch java api(五) Bulk批量索引
这篇博客介绍一下Elasticsearch对多个文档进行索引的简便方法。Bulk api的支持可以实现一次请求执行批量的添加、删除、更新等操作.Bulk操作使用的是UDP协议,UDP无法确保与ElasticSearch服务器通信时不丢失数据.一、Bulk API使用bulk命令时,REST API以_bulk结尾,批量操作写在json文件中,官网给出的语法格式:action_and_m转载 2017-05-19 17:30:33 · 1040 阅读 · 0 评论 -
Elasticsearch2.3.2创建索引java代码及异常处理
首先本文代码参考和引用了本博客的代码:http://www.cnblogs.com/coderdxj/p/6856145.htmlpackage com.test.entity;public class Blog { private Integer id; private String title; private String posttime; pri原创 2017-11-06 10:40:39 · 1219 阅读 · 2 评论 -
elasticsearch-jdbc同步myslq数据到elasticsearch
一、linux上使用前提: 1)elasticsearch 2.3.2 安装成功,测试ok。 2)mysql安装成功,能实现增、删、改、查。 可供测试的数据库为test,表为cc,具体信息如下:mysql> select * from cc;+----+------------+| id | name |+----+------------+| 1 | laoyan原创 2017-11-17 11:17:19 · 872 阅读 · 0 评论 -
Elasticsearch文档的CRUD
索引、类型、文档、字段索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。类型用于区分同一个索引下不同的数据类型,相当于关系型数据库中的表文档是ElasticSearch中存储的实体,类比关系型数据库,每个文档相当于数据库表中的一行数据。文档由字段组成,相当于关系数据库中列的属性,不同的是ES的不同文档可以具有不同的字段集合。 对比关系型数据库:R转载 2017-05-05 09:32:37 · 438 阅读 · 0 评论 -
ElasticSearch5.3插件开发(二)获取集群健康信息
前面一篇,简单讲过插件开发,打印信息,今天我们开发一个有实际意义的插件,获得集群健康信息。先看代码MyFirstPlugin.javapackage es.plugins;import org.elasticsearch.plugins.ActionPlugin;import org.elasticsearch.plugins.Plugin;import jav原创 2017-05-22 11:45:33 · 1040 阅读 · 0 评论 -
ElasticSearch5.3插件开发(一)控制台打印信息
自定义插件类继承org.elasticsearch.plugins.Plugin本文最简单的一个插件,在控制台打印信息:package es.plugins;import org.elasticsearch.plugins.ActionPlugin;import org.elasticsearch.plugins.Plugin;import java.util.Co原创 2017-05-16 18:12:41 · 1075 阅读 · 0 评论 -
ElasticSearch Java Api(四) -删除索引
删除可以是删除整个索引库,也可以根据文档id删除索引库下的文档,还可以通过query查询条件删除所有符合条件的数据。一、删除整个索引库下面的例子会删除indexName索引:DeleteIndexResponse dResponse = client.admin().indices().prepareDelete(indexName) .转载 2017-05-19 17:25:56 · 905 阅读 · 0 评论 -
ElasticSearch Java Api(三) -更新索引库
官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-update.html一、UpdateRequest创建一个UpdateRequest,然后将其发送给client.UpdateRequest uRequest = new UpdateRequest();转载 2017-05-19 17:14:54 · 590 阅读 · 0 评论 -
Elasticsearch教程 elasticsearch Mapping的创建
一、Mapping介绍在 Elasticsearch 中, Mapping 是什么?mapping 在 Elasticsearch 中的作用就是约束。1.数据类型声明它类似于静态语言中的数据类型声明,比如声明一个字段为String, 以后这个变量都只能存储String类型的数据。同样的, 一个number类型的 mapping 字段只能存储number类型的数据。2....原创 2018-01-11 16:09:29 · 14889 阅读 · 11 评论 -
Elasticsearch教程elasticsearch Client创建
Elasticsearch 创建Client有几种方式。首先在 Elasticsearch 的配置文件 elasticsearch.yml中。定义cluster.name。如下:cluster.name: sojson-application创建方式一:import static org.elasticsearch.node.NodeBuilder.*;原创 2018-01-11 16:12:14 · 4527 阅读 · 2 评论 -
Elasticsearch新增一个字段并赋值
先吐槽几句,最近本博主一直在做数据平台的事,越发觉得做数据平台难,尤其数据量很大的情况下,然而一旦问题解决,又马上觉得峰回路转,蛮有成就感。下面就介绍一下,在已经存有大量数据的ES索引中(博主处理的大概在1亿7千万条),向一个type中添加一个新字段并赋给一个值。说明,cimissgcdb是index,agmedays是type。首先来查看一下原始的mapping:GET /cimissgcdb/...原创 2018-03-31 18:32:18 · 50882 阅读 · 4 评论 -
Elasticsearch Java API 的使用—多条件查询
//多条件设置MatchPhraseQueryBuilder mpq1 = QueryBuilders .matchPhraseQuery("pointid","W3.UNIT1.10LBG01CP301");MatchPhraseQueryBuilder mpq2 = QueryBuilders .matchPhraseQue...原创 2018-03-21 15:32:58 · 20713 阅读 · 4 评论 -
Elasticsearch分页查询From&Size VS scroll
对于ES来说,按照一般的查询流程来说,如果我想查询数据:1 客户端请求发给某个节点 2 节点转发给个个分片,查询每个分片上的前10条 3 结果返回给节点,整合数据,提取前10条 4 返回给请求客户端这时,你查询的的数据可以获取整个条数,但是返回的只是默认的10条,所以这个时候就需要考虑使用分页查询。对于数据量,博主在800万条的时候,用From&Size也是没有问题的,但是...原创 2018-03-30 19:27:16 · 1591 阅读 · 0 评论 -
elasticsearch对地理坐标获取附近的城市
import org.elasticsearch.action.search.SearchRequestBuilder;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.client.Client;import org.elasticsearch.common.geo.GeoDista原创 2018-01-13 23:28:37 · 1637 阅读 · 2 评论 -
ElasticSearch 知识点整理(深入)
Elasticsearch是如何实现Master选举的?Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分;对所有可以成为master的节点(node.master: true)根据nodeId字典排序,每次选举每个节点都把自己所知道节点排转载 2018-01-16 10:52:24 · 4330 阅读 · 2 评论 -
ElasticSearch 知识点整理(入门)
1:es介绍Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于RESTful接口。普通请求是...get?a=1rest请求....get/a/12:全文搜索的工具有哪些Lucene Solr Elasticsearch3:es的bulk的引用场景1.bulk API转载 2018-01-16 10:47:55 · 1485 阅读 · 0 评论 -
Elasticsearch中的Multi Match Query
在Elasticsearch全文检索中,我们用的比较多的就是Multi Match Query,其支持对多个字段进行匹配。Elasticsearch支持5种类型的Multi Match,我们一起来深入学习下它们的区别。5种类型的Multi Match Query直接从官网的文档上摘抄一段来:best_fields: (default) Finds documents which m转载 2018-01-16 10:25:58 · 20300 阅读 · 0 评论 -
elasticsearch使用more_like_this实现基于内容的推荐
官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/2.3/query-dsl-mlt-query.html基于内容的推荐通常是给定一篇文档信息,然后给用户推荐与该文档相识的文档。Lucene的api中有实现查询文章相似度的接口,叫MoreLikeThis。Elasticsearch封装了该接口,通过Elastics原创 2018-01-13 23:19:27 · 11013 阅读 · 3 评论 -
elasticsearch 查询数据 | 分页查询
Elasticsearch 的查询很灵活,并且有Filter,有分组功能,还有ScriptFilter等等,所以很强大。下面上代码:一个简单的查询,返回一个List .。/** * 根据Id 查询 SOBangg * @param key * @return */public static List findSOBanggById(String id) { Client原创 2018-01-11 16:16:50 · 1987 阅读 · 1 评论 -
elasticsearch Insert 插入数据和delete 删除数据(Java)
首先我不赞成再采用一些中间件(jar包)来解决和 Elasticsearch 之间的交互,比如 Spring-data-elasticsearch.jar 系列一样,用就得依赖它。而 Elasticsearch 本身的用法就是很简洁的,也很容易,只要稍微加一下封装,即可解决。下面上我的简单封装的批量处理。package com.sojson.core.elasticsearc原创 2018-01-11 16:14:43 · 7739 阅读 · 0 评论 -
ElasticSearch Java Api(二) -检索索引库
一、准备数据 String data1 = JsonUtil.model2Json(new Blog(1, "git简介", "2016-06-19", "SVN与Git最主要的区别...")); String data2 = JsonUtil.model2Json(new Blog(2, "Java中泛型的介绍与简单使用", "2016-06-19", "学习目标 掌握泛型转载 2017-05-19 16:44:03 · 540 阅读 · 0 评论 -
elasticsearch api中的Bulk API操作
The bulk API allows one to index and delete several documents in asingle request. Here is a sample usage:import static org.elasticsearch.common.xcontent.XContentFactory.*;BulkRequestBuilder bulk原创 2017-05-12 17:05:00 · 794 阅读 · 0 评论 -
Elasticsearch 字段数据类型
Elasticsearch 可以支持单个 document 中含有多个不同的数据类型。核心数据类型(Core datatypes)字符型(String datatype):string(这个是2.x版本的,5.x版本之后是text,并没有string类型了。) 数字型(Numeric datatypes):long, integer, short, byte, double, float...原创 2017-05-12 17:21:33 · 4306 阅读 · 4 评论 -
elasticsearch api中的Buckets(桶)及Metrics(指标)
和查询DSL一样,聚合(Aggregations)也拥有一种可组合(Composable)的语法:独立的功能单元可以被混合在一起来满足你的需求。这意味着需要学习的基本概念虽然不多,但是它们的组合方式是几近无穷的。为了掌握聚合,你只需要了解两个主要概念:Buckets(桶):满足某个条件的文档集合。Metrics(指标):为某个桶中的文档计算得到的统计信息。原创 2017-05-12 17:18:48 · 1051 阅读 · 0 评论 -
elasticsearch api中的Multi Get API操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-multi-get.htmlThe multi get API allows to get a list of documents based on their index, type and id:M原创 2017-05-12 17:02:16 · 1115 阅读 · 0 评论 -
elasticsearch api中的Update API操作
You can either create an UpdateRequest and send it to the client:UpdateRequest updateRequest = new UpdateRequest();updateRequest.index("index");updateRequest.type("type");updateRequest.id("1");原创 2017-05-12 16:26:02 · 5352 阅读 · 0 评论 -
elasticsearch api中的Delete By Query API操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-delete-by-query.htmlThe delete by query API allows one to delete a given set of documents based onthe resul原创 2017-05-12 16:24:54 · 1699 阅读 · 0 评论 -
ElasticSearch简介与安装
简介ElasticSearch一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它是用Java开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官网:https://www.elastic.co/ElasticSearch的特性:对于ES的特性,我是从官网翻译过来,如果原创 2017-05-04 11:58:08 · 507 阅读 · 0 评论 -
elasticsearch api中的delete操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-delete.htmlThe delete API allows one to delete a typed JSON document from a specificindex based on its id. The原创 2017-05-11 10:45:41 · 1736 阅读 · 0 评论 -
elasticsearch api中的get操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.htmlThe get API allows to get a typed JSON document from the index based onits id. The following exampl原创 2017-05-11 10:30:53 · 2988 阅读 · 0 评论 -
ElasticSearch Java Api(一) -创建索引
ElasticSearch Java API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html一、生成JSON创建索引的第一步是要把对象转换为JSON字符串.官网给出了四种创建JSON文档的方法:1.1手写方式生成String json转载 2017-05-05 09:42:11 · 695 阅读 · 0 评论 -
elasticsearch rest api操作
REST(REpresentational State Transfer)从字面看就是“表述性状态传输”,它通常是开发的一种约定,当所有的开发者都遵从这种约定的时候,可以大大简化开发的沟通成本。REST约定用HTTP的请求头POST、GET、PUT、DELETE正好可以对应CRUD(Create、Read、Update、Delete)四种数据操作。如果你设计的应用程序能符合REST原则(REST可原创 2017-05-11 08:55:42 · 3508 阅读 · 0 评论 -
Elasticsearch对地理数据查询(一)
翻译版本:https://es.xiaoleilu.com/310_Geopoints/00_Intro.html官方原文:https://www.elastic.co/guide/en/elasticsearch/guide/current/geoloc.html本文只是针对这些内容通过具体的例子用Java来实现其具体细节,如果只想看java实现部分,请直接往下面代码实现部分看地转载 2017-05-12 17:48:04 · 2552 阅读 · 0 评论 -
ElasticSearch对地理数据查询(二)
在ElasticSearch中,地理位置通过geo_point这个数据类型来支持。地理位置的数据需要提供经纬度信息,当经纬度不合法时,ES会拒绝新增文档。这种类型的数据支持距离计算,范围查询等。在底层,索引使用Geohash实现。1、创建索引PUT创建一个索引cn_large_cities,mapping为city:{ "mappings": { "city":转载 2017-05-12 17:53:31 · 875 阅读 · 0 评论 -
使用Sense操作ElasticSearch CRUD
安装完成之后,我们该开始学习关于ElasticSearch最基本的CURD操作了。google浏览器安装需要翻墙。ElasticSearch作为一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,其接口也是RESTful 风格。文档储存类型也是json格式。那么我们就可以像操作webapi一样简单的操作ElasticSearch进行CRUD了。在Linux原创 2017-05-08 17:38:58 · 1981 阅读 · 0 评论 -
elasticsearch的rest api练习记录
GET _search{ "query": { "match_all": {} }}PUT /blog/article/1{ "title":"my sense", "author":"syj", "content":"sense is a good tool"}DELETE /blog/arctic原创 2017-05-16 18:10:33 · 629 阅读 · 0 评论 -
Elasticsearch如何关掉服务
1.使用head插件找到想关掉的节点进行关停2.使用命令kill杀掉服务器的ES进程即可1.查找ES进程ps -ef | grep elastic2.杀掉ES进程kill -9 2382(进程号)3.重启ESsh elasticsearch -d原创 2017-05-04 16:53:56 · 13079 阅读 · 0 评论