摘要:
一、es容灾机制 二、选举过程中两个重要的角色 1、active master与master的区别 active master节点:主节点。主节点一般不作为数据节点,不进行复杂的数据处理业务 master角色:代表该节点为候选节点,候选节点一般也不作为数据节点,因为如果主节点宕机后候选节点会被升级为 阅读全文
摘要:
一、分片的创建策略 1、分片:数据的载体,类似mysql中表。 每一个分片承载了完整数据中的一部分,每一个分片都存在时,数据才是完整的 2、主分片是数据的一部分,副本分片是主分片的备份 3、7.0之后分片默认一主一副 4、分片的合理容量为10-50G 5、分片有shard reblance策略,体现 阅读全文
摘要:
一、单机服务和分布式 1、单机服务的问题:性能有限(吞吐量等)、可用性差(单机产生故障服务挂掉,不可用)、难以扩展 2、三高 二、分布式集群环境 1、自动发现:集群中节点之间通过9300端口通信,并发现彼此的存在 2、核心配置: cluster.name: 集群名称,唯一确定一个集群。 node.n 阅读全文
摘要:
一、嵌套查询 1、测试数据: 不手动设置索引类型,全部使用dynamic_mapping 1 PUT /order/_doc/1 2 { 3 "order_name": "扫地机器人订单", 4 "desc": "shouji zhong de zhandouji", 5 "goods_count" 阅读全文
摘要:
搜索推荐: 一、Completion Suggester(为主) Completion Suggester会被构建成FST对象,缓存在RAM中,查询速度会变快 1 #complate suggester 2 DELETE suggest_carinfo 3 PUT suggest_carinfo 4 阅读全文
摘要:
一、模糊查询 1、四种情况: 混淆字符(box->fox) 缺少字符(black->lack) 多出字符(sic->sick) 颠倒次序(act->cat) 2、使用fuzzy进行模糊查询: 1 GET product_en/_search 2 { 3 "query": { 4 "fuzzy": { 阅读全文
摘要:
一、前缀搜索 1、概念:以xx开头的搜索,前缀搜索不计算相关度评分 2、测试数据: 1 POST /my_index/_bulk?filter_path=items.*.error 2 {"index":{"_id":"1"}} 3 {"text":"城管打电话喊商贩去摆摊摊"} 4 {"index 阅读全文
摘要:
一、基于_mget的批量查询 1、批量查询指定id 1 GET product/_mget 2 { 3 "ids":[2,3] 4 } 2、查询指定id中某些字段 1 GET product/_mget 2 { 3 "docs": [ 4 { 5 "_id": 2, 6 "_source": [ 7 阅读全文
摘要:
一、脚本查询 1、概念:Scripting是es支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能 2、es5.0之后默认语言是painless 3、 1 #语法:ctx._source.<field-name> ctx可以理解为上下文 2 #将doc为2数据的price属性-1 3 POS 阅读全文
摘要:
一、histogram 1、histogram:直方图、柱状图 2、 1 GET product/_search 2 { 3 "size": 0, 4 "aggs": { 5 "price_histogram": { 6 "histogram": { 7 "field": "price", 8 "i 阅读全文