
elasticsearch
qzqanlhy1314
这个作者很懒,什么都没留下…
展开
-
导入省市区数据到elasticsearch
1.创建索引PUT /province/_docPOST /province/_doc/mapping{ "province" : { "mappings" : { "_doc" : { "properties" : { "city" : { "type" : "nested", "...原创 2020-01-17 15:59:31 · 976 阅读 · 0 评论 -
Elasticsearch 杂项
1.elasticsearch 如何实现Master 选举elasticsearch 选主是zenDiscovery模块负责,主要通过ping(节点之间的RPC来发现彼此)和Unicast(单播模块包含一个主机列表来控制那些节点需要ping通);对所有可以成为master的节点(node.master:true)根据nodeId字典排序,每次选举都把自己所知道的节点排一次序,然后选出第一个(第0...原创 2020-01-17 11:22:18 · 217 阅读 · 0 评论 -
elasticsearch 笔记六: 核心元素据
_index(1) 代表一个document放在那个index 中(2) 类似的数据放在一个索引,非类似的数据放在不同的索引(3)index 中包含了很多类似的document(4)索引名称必须是小写,不能用下划线开头_type(1)代表document 属于index中的那个类别(2)一个索引通常会划分为多个type,逻辑上对index中有些许不同几类数据进行分类...原创 2018-10-23 17:27:50 · 159 阅读 · 0 评论 -
elasticsearch 笔记七: es乐观锁的并发控制
1.并发控制es 的并发控制是通过多version来实现的(不清楚乐观锁的自己提升去)2.实例//创建索引PUT /test_index/test_type/7{ "test_field": "test test"}//返回创建结果GET test_index/test_type/7{ "_index": "test_index", "_type": ".原创 2018-10-24 11:35:00 · 1149 阅读 · 0 评论 -
elasticsearch 笔记八:bulk 批量增删该查
1、bulk语法POST /_bulk{ "delete": { "_index": "test_index", "_type": "test_type", "_id": "3" }} { "create": { "_index": "test_index", "_type": &q原创 2018-10-24 14:48:32 · 688 阅读 · 0 评论 -
elasticsearch 笔记九:document路由原理
路由算法:shard = hash(routing) % number_of_primary_shards 举个例子,一个index有3个primary shard,P0,P1,P2每次增删改查一个document的时候,都会带过来一个routing number,默认就是这个document的_id(可能是手动指定,也可能是自动生成)routing = _id,假设_id=1...原创 2018-10-24 15:07:48 · 170 阅读 · 0 评论 -
elasticsearch 笔记十: 写一致性原理和quorum
consistency ,one (primary shard),all(all shard),quorum(default)put /index/type/id?consistency=quorumone :要求这个写操作,只要有一个primary shard 是active活跃可用的,就可以执行 all :要求这个写操作,必须所有的primary shard 和replica sh...原创 2018-10-24 15:44:43 · 312 阅读 · 0 评论 -
elasticsearch 笔记十一:搜索请求和timeout
{ "took": 10, //花费多少ms "timed_out": false, "_shards": { "total": 9, //到多少shard "successful": 9, "failed": 0 }, "hits": { "total": 7, "ma原创 2018-10-24 16:30:32 · 2012 阅读 · 0 评论 -
elasticsearch 笔记十二:分页搜索,deep paging 问题
1.分页搜索GET /_search?size=10GET /_search?size=10&from=0GET /_search?size=10&from202.deep paging性能问题的原理原创 2018-10-24 16:45:08 · 177 阅读 · 0 评论 -
elasticsearch 笔记十三:query string
GET /test_index/test_type/_search?q=test_field:test //包含test的搜索出来GET /test_index/test_type/_search?q=+test_field:test //包含test的搜索出来GET /test_index/test_type/_search?q=-test_field:test //不包含test搜索...原创 2018-10-24 17:15:37 · 356 阅读 · 0 评论 -
elasticsearch 笔记五:基础分布式架构
1. elasticsearch 对复杂分布式机制的透明隐藏特性1)分片机制2)集群发现机制3)shard 负载均衡4)shard 副本,请求路由,集群扩容,shard重分配原创 2018-10-23 11:04:58 · 302 阅读 · 0 评论 -
elasticsearch 笔记四:聚合分析
1.第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{ "aggs": { "group_by_tags": { "terms": { "field": "tags" } } }}------------------------------------------...原创 2018-10-23 10:17:52 · 182 阅读 · 0 评论 -
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法:1、切换到root用户修改配置sysctl.conf 或者是sudo vim sysctl.confvi /etc/sysctl.conf 添加下面配置: vm.max_map_count=262144并执行命令:sysctl -p原创 2018-10-22 11:37:06 · 564 阅读 · 0 评论 -
elasticsearch 笔记一: 核心概念
es和lucene 封装分布式的文档存储引擎 分布式的搜索引擎和分析引擎 分布式,支持PB级数据es 核心概念NRT: 写入数据到可以被所搜到有一个小延迟(大概1秒) 集群:Cluster,集群包含多个节点,每个节点也有一个名称(默认是elasticsearch) Node:节点 Document:最小的数据单元,可以是一条商品数据,一条分类数据 Index:索引,包含一堆相...原创 2018-10-22 15:33:08 · 241 阅读 · 0 评论 -
elasticsearch 笔记二: 集群健康检查,文档CRUD
集群管理(1)GET /_cat/health?vgreen //每个索引的primary shard 和replica shard 都是activeyellow //每个primary shard 都是active状态的,但是部分replica shard 不是active red //不是所有primary shard 都是active 状态(2)查看集群中有那些索引GE...原创 2018-10-22 17:11:10 · 267 阅读 · 0 评论 -
elasticsearch 笔记十四:_filter 和query 相关原理
GET /company/employee/_search{ "query":{ "must":[ "match":{ "join_date": "2016-01-01" } ], "filter":{ "range&原创 2018-10-25 14:50:10 · 259 阅读 · 1 评论 -
elasticsearch 笔记三: 多种搜索方式
六种搜索方式1.query string searchGET /ecommerce/product/_search{ "took": 8, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": {原创 2018-10-23 09:34:29 · 175 阅读 · 0 评论 -
elasticsearch 笔记十六:phase
query phase(1)搜索请求发送到某一个coordinate node,构构建一个priority queue,长度以paging操作from和size为准,默认为10(2)coordinate node将请求转发到所有shard,每个shard本地搜索,并构建一个本地的priority queue(3)各个shard将自己的priority queue返回给coordinate ...原创 2018-10-25 16:19:24 · 260 阅读 · 0 评论 -
elasticsearch 笔记十七:基于scroll技术滚动搜索大量的数据
如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完。使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以此类推,直到搜索出全部的数据来scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只会基于该旧的视图快照提供数据搜索,如果这个期间数据变更,是不会让用户看到的,采用基于_...原创 2018-10-25 16:50:28 · 320 阅读 · 0 评论 -
elasticsearch 笔记十八:索引管理
1、创建索引创建索引的语法PUT /my_index{ "settings": { ... any settings ... }, "mappings": { "type_one": { ... any mappings ... }, "type_two": { ... any mappings ... }, ... ...原创 2018-10-25 17:06:34 · 123 阅读 · 0 评论 -
elasticsearch 笔记十九:倒排索引
倒排索引的结构(1)包含这个关键词的document list(2)包含这个关键词的所有document的数量:IDF(inverse document frequency)(3)这个关键词在每个document中出现的次数:TF(term frequency)(4)这个关键词在这个document中的次序(5)每个document的长度:length norm(6)包含这个关键词的...原创 2018-10-25 17:25:43 · 165 阅读 · 0 评论 -
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
问题翻译过来就是:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;解决办法:#切换到root用户修改vim /etc/security/limits.conf在最后面追加下面内容XX hard nofile 65536XX soft nofile 65536XX 是启动ES的用户...原创 2018-10-22 11:34:27 · 671 阅读 · 0 评论