摘要: 单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点 单点故障问题:将分片数据在不同节点备份(replica ) ES集群相关概念: 集群(cluster):一组拥有共同的 cl 阅读全文
posted @ 2022-12-09 23:38 kisshappyboy 阅读(140) 评论(0) 推荐(0) 编辑
摘要: elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。 1.思路分析 常见的数据同步方案有三种: 同步调用 异步通知 监听binlog 1.1.同步调用 方案 阅读全文
posted @ 2022-12-09 23:23 kisshappyboy 阅读(1536) 评论(0) 推荐(0) 编辑
摘要: 当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,如图: 这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。 因为需要根据拼音字母来推断,因此要用到拼音分词功能。 1.拼音分词器 要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的 阅读全文
posted @ 2022-12-09 23:06 kisshappyboy 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1.聚合的种类 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。 聚合 阅读全文
posted @ 2022-12-09 22:41 kisshappyboy 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 下面,我们通过黑马旅游的案例来实战演练下之前学习的知识。 我们实现四部分功能: 酒店搜索和分页 酒店结果过滤 我周边的酒店 酒店竞价排名 启动我们提供的hotel-demo项目,其默认端口是8089,访问http://localhost:8090,就能看到项目页面了: 1.酒店搜索和分页 案例需求: 阅读全文
posted @ 2022-12-09 00:11 kisshappyboy 阅读(220) 评论(0) 推荐(0) 编辑