一.相关概念介绍 1)集群(cluster) 一个集群(cluster)由一个或多个节点组成. 这些节点具有相同的cluster.name,它们协同工作,分享数据和负载.当加入新的节点或者删除一个节点时,集群就会感知到并平衡数据. 2)节点(node) 一个节点(node)就是一个Elasticsearch实例. 集群中一个节点会被选举为主节点(master),它将临时管理集群级别的一些变更,例如新建或删除索引.增加或移除节点等.主节点不参与文档级别的变更或搜索,这意味着在流量增长的时候,该主节…
一.Elasticsearch生产集群如何部署 (1)es生产集群部署5台机器,若每台机器是6核64G的,那么集群总内存是320G (2)假如我们es集群的日增量数据大概是2000万条,每天日增量数据大概是500MB,每月增量数据大概是6亿,15G.若系统已经运行了几个月,那么es集群里数据总量大概是100G左右. (3)建有5个索引(这个结合自己业务来,看看自己有哪些数据可以放es的),每个索引的数据量大概是20G,所以这个数据量之内,每个索引可以分配8个shard,比默认的5个shard多了…
一.Elasticsearch写人数据的过程 1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)3)实际的node上的primary shard处理请求,然后将数据同步到replica node4)coordinating node,如果发现primary node和所有replica node都搞定之后,就返回响应结果…
一.Elasticsearch中的基本概念 以下概念基于这个例子:存储员工数据,每个文档代表一个员工 1)索引(index)  在Elasticsearch中存储数据的行为就叫做索引(indexing). 2)类型(type) 在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中 3)文档(documents) Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document).然而它…
一.首先在elasticsearch配置文件中开启x-pack验证, 修改config目录下面的elasticsearch.yml文件,在里面添加如下内容,并重启 xpack.security.enabled: true 二.在elasticsearch的bin下执行elasticsearch-setup-passwords interactive命令,elasticsearch-setup-passwords是elasticsearch命令行工具用来设置密码的,已交互方式为内置的各个用户设置密…
一.Kibana简单介绍 Kibana 是为 Elasticsearch设计的开源分析和可视化平台.你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互.你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来. 二.安装过程最新版本下载地址: https://www.elastic.co/cn/downloads/kibana 历史版本下载地址: https://www.elastic.co/cn/downloads/past-releases#…
在Macos上安装 一.下载安装过程 最新版本下载地址: https://www.elastic.co/cn/downloads/elasticsearch 历史版本下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch Github上源码地址: https://github.com/elastic/elasticsearch 1)下载并解压缩Elasticsearch Elasticsearch也可以使用apt…
1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百万级别后,关系型数据库的查询效率就会断崖式下跌,造成用户体验下降. 这时我们就需要引入分布式搜索引擎,来支持大数据量的查询. 分布式搜索引擎的可以弥补关系型数据库的不足,首先可以支持海量数据的查询,支持分词,因为是分布式的,所以扩展方便,可轻松实现负载均衡和高可用. Elasticsearch(简称…
一致性hash和solr千万级数据分布式搜索引擎中的应用 互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库.在这样严峻的条件下,一批又一批的创业者从创业中获得成功,这个和当前的开源技术.海量数据架构有着必不可分的关系.比如我们使用mysql.nginx等开源软件,通过架构和低成本服务器也可以搭建千万级用户访问量的系统.新浪微博.淘宝网.腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台.所以,用什么没关系,只要能够在合理的情况下采用合理的解决方…
一.Elasticsearch是什么? Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎. Elasticsearch是一个实时分布式搜索和分析引擎.它让你以前所未有的速度处理大数据成为可能.它用于全文搜索.结构化搜索.分析以及将这三者混合使用. 无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库.但是,Lucene只是一个库.想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lu…
官方网址:https://www.elastic.co/products/elasticsearch/ 一.特性 1.支持中文分词 2.支持多种数据源的全文检索引擎 3.分布式 4.基于lucene的开源搜索引擎 5.Restful api 二.资源 smartcn, 默认的中文分词 :https://github.com/elasticsearch/elasticsearch-analysis-smartcn mmseg :https://github.com/medcl/elasticsea…
原文来自:http://www.oschina.net/p/elasticsearch Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进行数据索引. ElasticSearch 提供多种语言的客户端 API: Java API — 1.x —  other versions JavaScript API — 2.4 —  other versions…
前言 由于最近在项目中接触使用到了ElasticSearch,从本篇博客开始将给大家分享这款风靡全球的产品.将涉及到ElasticSearch的安装.基础概念.基本用法.高级查询.中文分词器.与SpringBoot集成进行接口开发等相关知识. ElasticSearch简述 如果大家接触过大数据的话,相信大家或多或少的听说过ELK.ELK是目前非常主流的用于网站监控,流量监控,日志监控,集中日志管理的一套解决方案.而ElasticSearch如同ELK的心脏一般,起到一个非常核心的作用.简单来说…
1. ElasticSearch介绍(简称ES) ES即为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案. 首先,ES的索引库管理支持依然是基于Apache Lucene(TM)的开源搜索引擎. ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单. Lucene直接通过java API调用,而ES把这些API调用过程进行…
1.下载ElasticSearch a.下载Java环境JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html b.下载ElasticSearch压缩包:http://www.elasticsearch.org/overview/elkdownloads/ 2.安装ElasticSearch 首先安装好Java环境,并检查 “我的电脑属性”-->“高级系统设置”-->“高级”…
一.写在前面 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据库的补充,提供了关系型数据库不具备的一些能力. ES最先进入大众视野的是其能够实现全文搜索的能力,也是由于基于Lucene的实现,内部有一种倒排索引的数据结构. 本文作者将介绍ES的分布式架构,以及ES的存储索引机制,本文不会详细介绍ES的API,会从整体架构层面进行分析,后续作者会有其他文章对ES…
1.内存优化 在bin/elasticsearch.in.sh中进行配置 修改配置项为尽量大的内存: ES_MIN_MEM=8g ES_MAX_MEM=8g 两者最好改成一样的,否则容易引发长时间GC(stop-the-world) elasticsearch默认使用的GC是CMS GC,如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world,建议使用G1 GC JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC” JAVA_OPTS=”$JA…
在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsearch 2.4.2 Kibana 4.5 Elasticsearch License 2.4.2 plugin 系统版本是:CentOS release 6.6 一.简介 Marvel插件介绍 Marvel插件:在簇中从每个节点汇集数据.这个插件必须每个节点都得安装. Marvel是Elasticse…
一.写入 先来一个简单的官方例子,插入的参数为-XPUT,插入一条记录. curl -XPUT 'http://localhost:9200/test/users/1' -d '{ "user": "test", "post_date": "2009-11-15T14:12:12", "message": "Elastic Search" }' { "_index":…
//官方的 php  api写的鸡肋了,下面这个类可以使用 es api 操作. <?php class ElasticSearch { public $index; function __construct($server = 'http://localhost:9200'){ $this->server = $server; } function call($path, $http = array()){ if (!$this->index) throw new Exception(…
一.写入 先来一个简单的官方例子,插入的参数为-XPUT,插入一条记录. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 curl -XPUT 'http://localhost:9200/test/users/1' -d '{     "user": "test",     "post_date": "2009-11-15T14:12:12",     "message&q…
1.它们是基于lucene的. 2.它们分布:sensedb它是multi-write;Solr的shards它是master-slave状态.基于pull策略:elasticsearch的shards它是基于primary-secondary状态,push战术: 3.senseidb他专注于实时:Solr稳定性被广泛用于:elasticsearch更灵活 版权声明:本文博主原创文章,博客,未经同意不得转载.…
概述 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展到上百台服务器,处理PB级结构化或非结构化数据 下面展示了在关系型数据库中和ElasticSearch中对应的存储字段: Relational DB -> Databases -> Tables -> Rows -&…
一:搜索引擎elasticsearch介绍 Elasticsearch 是一个全文搜索引擎,可以快速地储存.搜索和分析海量数据. 二:应用场景 海量数据分析引擎 站内搜索引擎 数据仓库 三:安装 我们可以到 Elasticsearch 的官方网站下载 Elasticsearch:https://www.elastic.co/downloads/elasticsearch,同时官网也附有安装说明. 首先把安装包下载下来并解压,然后运行 bin/elasticsearch(Mac 或 Linux)或…
Elasticsearch是什么? Elasticsearch简称ES,是一个基于Lucene构建的开源.分布式.Restful接口的全文搜索引擎,还是一个分布式文档数据库.天生就是分布式.高可用.可扩展的,可以在很短的时间内存储.搜索和分析大量的数据. 什么是全文搜索? 全文搜索也叫全文检索,是指扫描文章中的每一个词,对每一个词进建立一个索引,指明该词在文章中出现的次数和位置,当前端用户输入的关键词发起查询请求后,搜索引擎就会根据事先建立的索引进行查找,并将查询的结果响应给用户. 这里有两个关…
场景:最近有同事分享了ElasticSearch Inverted Index,所以自己也了解一下基于Lucene的ES. 转载自:http://www.jianshu.com/p/05cff717563c Why Elasticsearch? 由于需要提升项目的搜索质量,最近研究了一下Elasticsearch,一款非常优秀的分布式搜索程序.最开始的一些笔记放到github,这里只是归纳总结一下. 首先,为什么要使用Elasticsearch?最开始的时候,我们的项目仅仅使用MySQL进行简单…
目录 1. Elasticsearch 是什么2. Elasticsearch 中基本概念3. Elasticsearch 安装4. 访问 Elasticsearch 1. Elasticsearch 是什么 Elasticsearch 是一个基于 Lucene 的实时的分布式搜索分析引擎,开箱即用,整合了全文检索.结构化搜索.分析三大功能.为什么不直接用 Lucene ?Lucene 只是一个全文检索引擎的架构,提供了大量可用的 API,但其并不是一个完整的全文检索引擎,使用 Lucene 时…
互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库.在这样严峻的条件下,一批又一批的创业者从创业中 获得成功,这个和当前的开源技术.海量数据架构有着必不可分的关系.比如我们使用mysql.nginx等开源软件,通过架构和低成本服务器也可以搭建千 万级用户访问量的系统.新浪微博.淘宝网.腾讯等大型互联网公司都使用了很多开源免费系统搭建了他们的平台.所以,用什么没关系,只要能够在合理的情况下 采用合理的解决方案. 那怎么搭建一个好的系统架构呢?这个话题太大,这…
其实不单单是研究solr elasticsearch把,进行调研性技术学习时,应该制定一些目标以及里程碑.新的技术调研 学习是一件很爽的事,能学到新技术新东西.但是在学习新技术同时,有几个问题是需要我们思考的. 需不需要制定一个计划,因为漫无目的调研,可能时间过去了,感觉是学到了东西,但可能最终没有学到东西. 或者说没有在指定时间达到我们的目的.这时就需要指定一定的目标,比如最低目的,每个时间段掌握哪些东西.这 样有计划有安排,会对调研工作有一个好的进展,以及进度把握. 再有就是调研产出,一个是…
学完本课题,你应达成如下目标: 掌握ES搜索API的规则.用法. 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /twitter/tweet,user/_search?q=user:kimchy GET /kimchy,elasticsearch/_search?q=tag:wow GET /_all/_search?q=tag:wow GET /_search?q=tag:wow 搜索的端点地址可以是多索引多m…