Elasticsearch
梦里梦见梦不见的
这个作者很懒,什么都没留下…
展开
-
Elasticsearch --- (十五)Java API初步使用:员工管理案例
1、基于java实现员工信息的增删改查员工信息:姓名、年龄、职位、国家、入职日期、薪水(1)maven依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.2</version></dependency><原创 2020-11-10 10:54:51 · 181 阅读 · 0 评论 -
Elasticsearch --- (十四)内核原理探秘
1、倒排索引组成结构以及其索引不可变原因(1)倒排索引,是适合用于进行搜索的(2)倒排索引的结构包含这个关键词的document list 包含这个关键词的document的数量:IDF(inverse document frequency) 这个关键词在每个document中出现的次数:TF(term frequency) 这个关键词在这个document中的次序 每个document的长度:length norm 包含这个关键词的所有document的平均长度(3)倒排索引不可变原创 2020-10-20 11:46:19 · 127 阅读 · 0 评论 -
Elasticsearch --- (十三)索引管理
1、创建、修改以及删除索引(1)手动创建索引语法PUT /my_index{ "settings": {... any settings...}, "mappings": { "type_one":{... any mappings...}, "type_two":{... any mappings...}, ... }}PUT /my_index{ "settings": { "number_of_shards": 1, "n...原创 2020-09-25 17:38:11 · 474 阅读 · 0 评论 -
Elasticsearch --- (十二)初识搜索引擎《二》
1、search api 的基础语法(1)GET /search {} -------查所有(2)GET /index1,index2/type1,type2/search {} ------查指定index、type(3)GET /search{ ...原创 2020-08-27 10:18:59 · 428 阅读 · 0 评论 -
Elasticsearch --- (十一)初识搜索引擎《一》
1、search结果深入解析(search timeout机制)(1)搜索结果里的各种数据的含义GET /_search{ "took": 6, "timed_out": false, "_shards": { "total": 6, "successful": 6, "failed": 0 }, "hits": { "total": 10, "max_score": 1, "hits": [ {原创 2020-05-21 17:02:18 · 455 阅读 · 0 评论 -
Elasticsearch --- (十)document路由原理、增删改内部实现原理、写一致性原理以及quorum机制、查询内部原理、bulk api的奇特json格式
目录1、什么是distributed document store(分布式文档存储)2、图解剖析document数据路由原理(1)document路由到shard上是什么意思?(2)路由算法(3)_id or custom routing value(手动指定routing value)(4)primary shard数量不可变的谜底3、图解剖析document增删改内部实现原理4、图解写一致性原理以及quorum机制深入剖析(1)consistency:one(pri.原创 2020-05-21 14:14:57 · 186 阅读 · 0 评论 -
Elasticsearch --- (九)mget批量查询、bulk批量增删改
1、mget批量查询(1)单条查询GET /test_index/test_type/1(2) mget批量查询GET /_mget{ "docs" : [ { "_index" : "test_index", "_type" : "test_type", "_id" : 1 }, { "_index" : "test_index", "_ty...原创 2020-05-21 10:12:56 · 200 阅读 · 0 评论 -
Elasticsearch --- (八)partial update(更新文档)、基于groovy脚本执行partial update
1、什么是partial update?之前:PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改 (2)用户在前台界面修改数据,发送到后台 (3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据 (4)...原创 2020-05-20 18:11:44 · 201 阅读 · 0 评论 -
Elasticsearch --- (七)并发冲突、锁
1、剖析ES并发冲突问题2、悲观锁和乐观锁两种 并发控制方案原创 2020-05-20 15:57:33 · 402 阅读 · 0 评论 -
Elasticsearch --- (六)初步解析document和核心元数据:_index\_type\_id _source
{ "_index": "test_index", "_type": "test_type", "_id": "1", "_version": 1, "found": true, "_source": { "test-content": "test test" }}1、_index元数据 (1)代表一个document存放在哪个index中 (2)类似的数据放在一个索引,非类似的数据放不同索引,product index(包含了所...原创 2020-05-20 15:43:22 · 320 阅读 · 1 评论 -
Elasticsearch --- (五)图解横向扩容过程(增加节点的数量),如何超出扩容极限,以及如何提升容错性;ES容错机制
1、primary & replica 如果增加了节点会自动负载均衡2、扩容之后,每个节点的shard数量更少,就意味着每个shard可以占用节点上更多的资源,IO、CPU、Memory,整个系统性能会更好3、扩容的极限,6个shard(3 primary,3replica),最多扩容到6台机器,每个shard可以占用 单台服务器的所有资源,性能最好4、如何超出系统的扩容瓶颈 ---》 动态修改replica shard的数量 比如就6个shard,但是要扩容到9台机器,...原创 2020-05-20 14:24:54 · 888 阅读 · 0 评论 -
Elasticsearch --- (四)剖析Elasticsearch的基础分布式架构
1、ES对复杂分布式机制的透明隐藏特性 复杂的分布式机制, 如分片机制,cluster discovery(集群发现机制),shard负载均衡,shard副本,请求路由,集群扩容,shard重分配等等全部隐藏起来了,而我们不用去关心。2、ES的垂直扩容和水平扩容 例子:现有6台服务器,每台容纳1T数据,马上数据要增长到8T,这个时候两个方案:...原创 2020-05-20 11:20:31 · 90 阅读 · 0 评论 -
Elasticsearch --- (三)快速入门案例实战:电商网站商品管理
1、ES的document数据格式(用json数据格式来表达)2、简单的集群管理操作 (1) 快速检查集群的健康状况 GET /_cat/health?v 如何快速了解集群额健康状况?green、yellow、red?green:每个索引的primary shard 和 replica shard 都是active状态 yellow:每个索引的pri...原创 2020-04-16 18:56:02 · 365 阅读 · 0 评论 -
Elasticsearch --- (二)在Windows上安装和启动ES(基于5.2.0版本)和 kibana
1、JDK要求 安装jdk,至少1.8.0_73以上版本,java -version2、下载和解压缩 ES 安装包 官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch 如果不想下载最新版的,可以点击“past releases”选择过去的版本3、启动 进入el...原创 2020-04-16 11:19:35 · 411 阅读 · 0 评论 -
Elasticsearch --- (一)简介
Elasticsearch,分布式、高性能、高可用、可伸缩的搜索和分析系统一、什么是全文检索和Lucene?1、全文检索:倒排索引 2、Lucene: 就是一个jar包,里面包含了封装好的各种建立倒排索引以及进行搜索的代码,包括各种算法。我们就用Java开发的时候,引入Lucene jar,然后基于Lucene的api ...原创 2020-04-13 11:48:36 · 113 阅读 · 0 评论