随笔分类 -  elasticsearch

摘要:集群 单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点 单点故障问题:将分片数据在不同节点备份(replica ) ES集群相关概念: 集群(cluster):一组拥有共同的 阅读全文
posted @ 2025-01-22 09:52 一杯水M 阅读(30) 评论(0) 推荐(0) 编辑
摘要:数据同步 elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。 异步通知 流程如下: hotel-admin对mysql数据库数据完成增、删、改后,发送MQ 阅读全文
posted @ 2025-01-21 15:05 一杯水M 阅读(17) 评论(0) 推荐(0) 编辑
摘要:根据用户输入的字母,提示完整词条的功能,就是自动补全。 索引库中就需要有词条对应的拼音数据,使用拼音分词将指定字段重新分词。 拼音分词器 要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:https://github.com/med 阅读全文
posted @ 2025-01-20 16:16 一杯水M 阅读(21) 评论(0) 推荐(0) 编辑
摘要:API语法 聚合条件与query条件同级别,因此需要使用request.source()来指定聚合条件。 聚合的结果解析: @Override public Map<String, List<String>> filters(RequestParams params) { try { // 1.准备 阅读全文
posted @ 2025-01-17 13:40 一杯水M 阅读(6) 评论(0) 推荐(0) 编辑
摘要:**聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。 聚合的种类 阅读全文
posted @ 2025-01-17 13:32 一杯水M 阅读(14) 评论(0) 推荐(0) 编辑
摘要:match_all查询 代码解读: 第一步,创建SearchRequest对象,指定索引库名 第二步,利用request.source()构建DSL,DSL中可以包含查询、分页、排序、高亮等 query():代表查询条件,利用QueryBuilders.matchAllQuery()构建一个matc 阅读全文
posted @ 2025-01-17 09:35 一杯水M 阅读(4) 评论(0) 推荐(0) 编辑
摘要:搜索的结果可以按照用户指定的方式去处理或展示。 排序 分页 搜索关键词高亮 排序 elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有:keyword类型、数值类型、地理坐标类型、日期类型等。 普通字段排序 keyword、数值 阅读全文
posted @ 2025-01-16 14:42 一杯水M 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1、DSL查询文档 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索 阅读全文
posted @ 2025-01-16 11:14 一杯水M 阅读(58) 评论(0) 推荐(0) 编辑
摘要:RestClient操作文档 新增文档 将DB表中的数据同步到elasticsearch 1)查询数据库 1.1)数据库查询后的结果是一个Hotel类型的对象 1 @Data 2 @TableName("tb_hotel") 3 public class Hotel { 4 @TableId(typ 阅读全文
posted @ 2025-01-15 13:16 一杯水M 阅读(7) 评论(0) 推荐(0) 编辑
摘要:elasticsearch的索引库操作 索引库就类似数据库表,mapping映射就类似表的结构。 我们要向es中存储数据,必须先创建“库”和“表”。 2.1.mapping映射属性 mapping是对索引库中文档的约束,常见的mapping属性包括: type:字段数据类型,常见的简单类型有: 字符 阅读全文
posted @ 2025-01-14 15:59 一杯水M 阅读(26) 评论(0) 推荐(0) 编辑
摘要:elasticSearch采用的倒排索引,那么如何使用elasticSearch 一、安装elasticSearch 1、创建目录用于存放下载的es.tar和kibana.tar /usr/local/docker/tools cd /usr/local/docker/tools 2、上传tar 启 阅读全文
posted @ 2025-01-02 17:28 一杯水M 阅读(434) 评论(0) 推荐(0) 编辑
摘要:什么是elasticsearch 一款非常强大的开源搜索引擎 elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。 采用倒排索引 正向索引:正排索引按照文档的顺序存储索引,索引的键是文档的标识符(如ID),值是文档的详细信息,如标题、内容摘要、发布日期等。这种结构 阅读全文
posted @ 2025-01-02 11:00 一杯水M 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示