随笔分类 - elasticsearch
摘要:一、知识铺垫1.1、搜索结果各项含义GET /_search{ "took": 6, #整个搜索请求花费了多少毫秒 "timed_out": false, #是否超时,可以手动指定超时时间 "_shards": { #默认一个搜索请求,会打到index的所有primary shard上去,每个primary shard都可能会有一个或多个replic shard,所以请求也可以到...
阅读全文
摘要:一、批量查询1.1、批量查询的好处单次查询:查询100条数据,那么就要发送100次网络请求,网络开销大批量查询:查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍1.2、mget使用1)一条一条的查询GET /test_index/test_type/1GET /test_index/test_type/22)mget批量查询GET /_mget{ "docs": [ ...
阅读全文
摘要:一、partial update介绍1.1、什么是partial update?1)PUT /index/type/id创建文档&替换文档,是一样的语法。一般对应到应用程序中,每次的执行流程基本是这样的:(1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改(2)用户在前台界面修改数据,发送到后台(3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修...
阅读全文
摘要:一、ES并发控制原理1.1、ES并发冲突问题1.2、悲观锁与乐观锁并发控制图解ES内部基于_version进行乐观锁并发控制:二、并发控制实践2.1、基于_version进行乐观锁并发控制1)构建数据PUT /test_index/test_type/7{ "test_field": "test test"}{ "_index": "test_index", "_type": "test_t...
阅读全文
摘要:一、document元数据插入一条document,会返回结果如下:PUT /test_index/test_index/1{ "test_content": "test test"}{ "_index": "test_index", "_type": "test_index", "_id": "1", "_version": 1, "result": "created", &
阅读全文
摘要:一、Elasticsearch分布式架构1.1、Elasticsearch对复杂分布式机制的透明隐藏特性Elasticsearch是一套分布式的系统,分布式是为了应对大数据量,隐藏了复杂的分布式机制1)分片机制:将一些document插入到es集群中去了,没有care过数据怎么进行分片的,数据到哪个shard中去2)cluster discovery(集群发现机制):我们之前在做那个集群statu...
阅读全文
摘要:一、ES简单查询查询主要有如下几种:1、query string search2、query DSL3、query filter4、full-text search5、phrase search6、highlight search1.1、query string search适用于临时的在命令行使用一些工具,比如curl,快速的发出请求,来检索想要的信息;但是如果查询请求很复杂,是很难去构建的。在...
阅读全文
摘要:一、document数据格式(1)应用系统的数据结构都是面向对象的,复杂的(2)对象数据存储到数据库中,只能拆解开来,变为扁平的多张表,每次查询的时候还得还原回对象格式,相当麻烦(3)ES是面向文档的,文档中存储的数据结构,与面向对象的数据结构是一样的,基于这种文档数据结构,es可以提供复杂的索引,全文检索,分析聚合等功能(4)es的document用json数据格式来表达{ "email"...
阅读全文
摘要:一、ES简单介绍elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api接口、java api接口(还有其他语言的api接口)(1)分布式的文档存储引擎(2)分布式的搜索引擎和分析引擎(3)分布式,支持PB级数据1.1、es功能(1)分布式的搜索引擎和数据分析引擎搜索:百度,网站的站内搜索,IT系统的检索数据分析:电商网站,最近7天牙膏这种商品销量排名前10的...
阅读全文
摘要:一、windows环境安装elastisearch1.1、安装jdk软件下载路径:https://www.oracle.com/technetwork/java/javase/downloads/index.html1.2、配置环境变量配置环境变量:1)JAVA_HOME环境变量2)Path环境变量配置将这条语句;%JAVA_HOME%\bin追加到Path变量值的最后面1.3、测试1.4、安装并...
阅读全文