随笔分类 - 【0073】Elasticsearch基础
摘要:序言 资料 https://www.cnblogs.com/xiaoyh/category/2057888.html .Net Core平台Elasticsearch客户端NEST
阅读全文
摘要:序言 Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。 从而简化开发人员的代码,提高开发效率。 新建项目 新增索引——使用ElasticsearchTempla
阅读全文
摘要:序言 ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到 集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架 构及服务配置上来说,构建集群所需要的配置极其简单。在 Elasticsea
阅读全文
摘要:序言 安装ElasticSearch Head,它相当于是ES的图形化界面,这个更简单,它是一个浏览器的扩展程序,直接在chrome浏览器扩展程序里下载安装即可: 打开chrome浏览器,在扩展程序chrome应用商店那里,搜索elasticsearch: 选择ElasticSearch Head,
阅读全文
摘要:序言 内置分词器 POST /_analyze { "analyzer":"standard", "text":"且听风吟" } 内置分词器对中文的局限性 ik分词器 安装IK分词器 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/re
阅读全文
摘要:批量查询 1.如果查询的document是不同index下的不同type种的话 GET /_mget { "docs" : [ { "_index" : "test_index", "_type" : "test_type", "_id" : 1 }, { "_index" : "test_inde
阅读全文
摘要:普通的partial update 1.插入测试数据 2.更新 基于groovy脚本执行partial update 1.内置脚本 插入测试数据 更新 2.外部脚本 更新 用脚本删除文档 upsert操作 partial update内置乐观锁并发控制
阅读全文
摘要:乐观锁与悲观锁 图示的冲突过程,其实就是es的并发冲突问题,会导致数据不准确 当并发操作es的线程越多,或者读取一份数据,供用户查询和操作的时间越长,在这段时间里,如果数据被其他用户修改,那么我们拿到的就是旧数据,基于旧数据去操作,就会导致错误的结果 悲观锁(Pessimistic Lock), 顾
阅读全文
摘要:1.手动指定document id 一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。 2.自动生成document id 如果说,我们是在做一个系统,这个系统主要的数据存储就是es一种,也就是说,数据产生出来以
阅读全文
摘要:序言 shard&replica机制 1.index包含多个shard 2.每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力 3.增减节点时,shard会自动在nodes中负载均衡 4.primary shard和replica shard,每个do
阅读全文
摘要:1.计算每个tag下的商品数量 2.对名称中包含圣剑的商品,计算每个tag下的商品数量 3.先分组,再算每组的平均值,计算每个tag下的商品的平均价格 4.计算每个tag下的商品的平均价格,并且按照平均价格降序排序 5.按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组
阅读全文
摘要:启动Elasticsearch和kibana 访问Elasticsearch:http://localhost:9200/?pretty 访问kibana:http://localhost:5601 elasticsearch外网IP无法访问 elasticsearch.yml增加:network.
阅读全文
摘要:序言 ES数据架构的主要概念(与关系数据库Mysql对比) 集群(cluster) 集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识。一下是我们的4节点集群。 节点(node) 节点,一个ES实例就是一个node,一个机器可以有多个实例,所以并不能
阅读全文