提问:布和纸怕什么?

使用search-guard 后java代码连接不上

ly898197688 回复了问题 • 2 人关注 • 2 个回复 • 2658 次浏览 • 2018-12-17 16:09 • 来自相关话题

ES5.6.4中数值类型的term查询类型应该是TermQuery还是PointRangeQuery

回复

zhangg7723 发起了问题 • 3 人关注 • 0 个回复 • 4268 次浏览 • 2018-12-14 17:43 • 来自相关话题

Day 14 - 订单中心基于elasticsearch 的解决方案

blogsit 发表了文章 • 3 个评论 • 15931 次浏览 • 2018-12-14 15:24 • 来自相关话题

       ElasticSearch分布式搜索储存集群的引入,主要是为了解决订单数据的存储与搜索的问题。

项目背景:
      15年去哪儿网酒店日均订单量达到30w+,随着多平台订单的聚合日均订单能达到100w左右。原来采用的热表分库方式,即将最近6个月的订单的放置在一张表中,将历史订单放在在history表中。history表存储全量的数据,当用户查询的下单时间跨度超过6个月即查询历史订单表,此分表方式热表的数据量为4000w左右,当时能解决的问题。但是显然不能满足携程艺龙订单接入的需求。如果继续按照热表方式,数据量将超过1亿条。全量数据表保存2年的可能就超过4亿的数据量。所以寻找有效途径解决此问题迫在眉睫。由于对这预计4亿的数据量还需按照预定日期、入住日期、离店日期、订单号、联系人姓名、电话、酒店名称、订单状态……等多个条件查询。所以简单按照某一个维度进行分表操作没有意义。ElasticSearch分布式搜索储存集群的引入,就是为了解决订单数据的存储与搜索的问题。

具体解决方案:

1、系统性能
        对订单模型进行抽象和分类,将常用搜索字段和基础属性字段剥离DB做分库分表。存储订单详情,ElasticSearch存储搜素字段。订单复杂查询直接走ElasticSearch。如下图:

elasticsearch1.png

       通用数据存储模型

elasticsearch2.png


关键字段
    ■ 业务核心字段,用于查询过滤
系统字段
    ■ version 避免高并发操作导致数据覆盖
大字段
    ■ order_data订单详情数据(JSON)
    ■ 可灵活需要索引的字段返回的字段

 
 
2、系统可用性
     系统可用性保障:双机房高可用如下图。

       
elasticsearch3.png

     数据可用性保障:
            一、异步多写保证数据一致性。

                
二、数据补充机制:
  1、每天凌晨task扫描数据库热表数据与es数据版本进行比较。
  2、将第三方推送过来数据中的,订单号即时插入订单同步队列表中。如果数据模型解析转换、持久化成功。删除队列中订单号。同时设置1分钟一次的task 扫描队列表。
  3、推送第三方的数据也采用同样的方式。保证给第三方数据的准确性。


elasticsearch4.png


3、系统伸缩性
      elasticSearch中索引设置了8个分片,目前Es单个索引的文档达到到1.4亿,合计达到2亿条数据占磁盘大小64G,集群机器磁盘容量240G。

 
 
 

es查询性能问题

rochy 回复了问题 • 3 人关注 • 1 个回复 • 2816 次浏览 • 2018-12-14 13:07 • 来自相关话题

elasticsearch id

rochy 回复了问题 • 2 人关注 • 1 个回复 • 4623 次浏览 • 2018-12-14 13:02 • 来自相关话题

elasticsearch单值桶

回复

hnj1575565068 发起了问题 • 1 人关注 • 0 个回复 • 1515 次浏览 • 2018-12-14 09:46 • 来自相关话题

写入压测导致cpu context switch 过高,cpu sys 过高,系统卡住

zqc0512 回复了问题 • 5 人关注 • 3 个回复 • 3674 次浏览 • 2019-01-07 10:58 • 来自相关话题

spring boot 2.0可以整合elasticsearch 5.4.0吗

qqq1234567 回复了问题 • 2 人关注 • 2 个回复 • 1480 次浏览 • 2018-12-13 18:20 • 来自相关话题

query cache和filter cache的区别和联系?

rochy 回复了问题 • 3 人关注 • 1 个回复 • 2781 次浏览 • 2018-12-13 17:13 • 来自相关话题

es没有写入,监控发现有bulk的任务?

fanmo3yuan 回复了问题 • 3 人关注 • 2 个回复 • 2129 次浏览 • 2018-12-17 11:03 • 来自相关话题

ES中如何实现以下等价的solr搜索意图?

Memento 回复了问题 • 2 人关注 • 1 个回复 • 1693 次浏览 • 2019-11-07 14:53 • 来自相关话题

请教:日志已导入es,但因为一个空格没匹配到,导至无法分词,那么我能在es中修改该条日志,重新匹配吗?

rochy 回复了问题 • 2 人关注 • 1 个回复 • 2188 次浏览 • 2018-12-13 11:18 • 来自相关话题

status 503

bellengao 回复了问题 • 2 人关注 • 1 个回复 • 2766 次浏览 • 2018-12-15 10:43 • 来自相关话题

Shard大小官方推荐值为20-40GB, 具体原理呢?

medcl 回复了问题 • 7 人关注 • 2 个回复 • 6226 次浏览 • 2018-12-13 10:19 • 来自相关话题

随机函数用完需要删除seed的字符串嘛?怎么删除?

rochy 回复了问题 • 2 人关注 • 1 个回复 • 2360 次浏览 • 2018-12-12 14:55 • 来自相关话题