上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页
摘要: elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。 1.思路分析 常见的数据同步方案有三种: 同步调用 异步通知 监听binlog 1.1.同步调用 方案 阅读全文
posted @ 2022-12-09 23:23 kisshappyboy 阅读(1584) 评论(0) 推荐(0) 编辑
摘要: 当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,如图: 这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。 因为需要根据拼音字母来推断,因此要用到拼音分词功能。 1.拼音分词器 要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的 阅读全文
posted @ 2022-12-09 23:06 kisshappyboy 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.聚合的种类 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。 聚合 阅读全文
posted @ 2022-12-09 22:41 kisshappyboy 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 下面,我们通过黑马旅游的案例来实战演练下之前学习的知识。 我们实现四部分功能: 酒店搜索和分页 酒店结果过滤 我周边的酒店 酒店竞价排名 启动我们提供的hotel-demo项目,其默认端口是8089,访问http://localhost:8090,就能看到项目页面了: 1.酒店搜索和分页 案例需求: 阅读全文
posted @ 2022-12-09 00:11 kisshappyboy 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 文档的查询同样适用昨天学习的 RestHighLevelClient对象,基本步骤包括: 1)准备Request对象 2)准备请求参数 3)发起请求 4)解析响应 1.快速入门 我们以match_all查询为例 1.1.发起查询请求 代码解读: 第一步,创建SearchRequest对象,指定索引库 阅读全文
posted @ 2022-12-08 23:17 kisshappyboy 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 搜索的结果可以按照用户指定的方式去处理或展示。 1.排序 elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有:keyword类型、数值类型、地理坐标类型、日期类型等。 1.1.普通字段排序 keyword、数值、日期类型排序的 阅读全文
posted @ 2022-12-08 22:29 kisshappyboy 阅读(46) 评论(0) 推荐(0) 编辑
摘要: DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.DSL查询分类 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如: match_query mu 阅读全文
posted @ 2022-12-07 23:20 kisshappyboy 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1.新增文档 我们要将数据库的酒店数据查询出来,写入elasticsearch中。 1.1.索引库实体类 数据库查询后的结果是一个Hotel类型的对象。结构如下: @Data @TableName("tb_hotel") public class Hotel { @TableId(type = Id 阅读全文
posted @ 2022-12-06 23:44 kisshappyboy 阅读(34) 评论(0) 推荐(0) 编辑
摘要: ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/index.html 我们根据项目实际来进行分析 1.3.mapp 阅读全文
posted @ 2022-12-06 23:40 kisshappyboy 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1.新增文档 语法: POST /索引库名/_doc/文档id { "字段1": "值1", "字段2": "值2", "字段3": { "子属性1": "值3", "子属性2": "值4" }, // ... } 示例: POST /heima/_doc/1 { "info": "黑马程序员Jav 阅读全文
posted @ 2022-12-06 23:21 kisshappyboy 阅读(110) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 20 下一页