当前位置: 首页 > news >正文

《一本书讲透 Elasticsearch》京东评论采集+存储+可视化全 AI 实现

98ddde69375dcb0a5848ba3de03a8b02.png

经常和出版社编辑老师交流读者的反馈。毕竟是小众书籍,豆瓣评分的人并不多。42d9a9b275fe8b9d9091a23459d7ab49.png

而京东作为主要读书销售渠道,非常有必要整合一下京东读者评论,看看读者们都说了什么,以便后续的改进!

一条条的翻看非常不方便,干脆能不能搞个爬虫把评论采集下来呢?这是我最初始的想法。

1e4c179f8f2d72719c8f3268dcaf36da.png

等我采集下来数据后,我就想咱们有 kibana,有 Elastic Stack 技术栈体系,能不能顺带做个可视化效果图呢?

于是就有了开篇的效果图。

读者们可能会说,书中第18章就讲的怎么处理,看下来也并不复杂。是的,基本都是重复的工作。

我进一步想,能不能尽可能一行代码也不写,全部借助大模型 ChatGPT 完成呢。

所以,和之前不同,整个采集、解析、Elasticsearch 预处理、写入 Elasticsearch 等全过程全是基于大模型问答完成的。

如果你对 AI 代码实现感兴趣,如果你对上面可视化效果感兴趣,建议看到最后。

1、AI 工具选型

我近期使用大模型最大的收获就是:一定要货比三家

不要依赖任何一种大模型,哪怕付费版的ChatGPT,一定得货比三家,都试试。

3e6fbfb702473174dcba22e5820761c2.png

我近期用的最多也是我逢人就推荐的是:ChatGPT 4o 付费版本(每个月20美金)。

另外我用的 perplexity AI,他的整合能力是远远大于 Kimi的(个人观点,欢迎留言交流)。

9493eb8e591993e9efc01882013dd5b8.png

2、整体架构构思

大模型有了以后,写代码相当于外包给大模型了,我们基本不用写了,只需要微调就可以。

什么能力变得更加急迫呢?Prompt 能力、提示词能力、提问能力变得越发重要!

提问什么呢?还是需要我们提前整体构思。

类似数据存储到可视化,咱们视频都录制过好几期,战争电影题材评论的、Wireshark抓包的、微博评论的,都做了可视化处理。

核心就是:

  • Step1:数据采集

  • Step2:数据清洗(看是否需要)

  • Step3:数据预处理

  • Step4:数据写入 Elasticsearch

  • Step5:Kibana 可视化

Step3 和 Step4 步骤可以互换的,因为 Elasticsearch 预处理是借助 pipeline 实现的,可以索引创建阶段,也可以写入后借助 update_by_query 批量更新实现。

有了上面整体构思,剩下就是逐个击破。

逐个构思 Prompt,让咱们的外包 AI 帮写代码,我们只需要评审代码,用代码就可以了。

3、数据采集

其实这个需要电脑端打开某东,实际调研发现,某东是有 API 接口的,不过频繁调用会封禁 24 小时。

还好咱们的数据量不大。

2aa51a5dd7c75bfb724009641d067760.png

接口参考如下:

b90ff55a32d5d00c586922a64b2b7844.png

有了接口之后,我们会发现如入无人境地,“拿”数据变得容易、可行!

83993642229a98bef9c1e5338832dab6.png

f9bf4fc1dda7759c3b01ac53eb243264.png

详尽代码参见:https://articles.zsxq.com/id_lj2wtgectd25.html

这里的提示词可以反复提问,我是借助 perplexity.ai 实现的。

00839095830a9d05eafabeacffc70a8a.png

3ad78a47655371e21cade39c9f42954e.png

中间代码不一定 100% 正确,需要我们拿到代码微调一下,确保可用,可以采集到才可以。

3、数据写入与存储

3.1 写入前,先创建索引。

这里最核心的 Mapping 和 Setting,弄不好,后面可视化要经常返工。

我把全部的评论都丢给 ChatGPT 4o1-mini, 让他帮我想可以可视化的维度。结果是模型比我想的更加全面。

057ea9d5d88d33425991fd3b9d7c6fba.png

然后,我提取了可以可视化的部分,让 GPT 帮创建的索引。Prompt 参考如下:

45676cfa6dd2e75c3d9a1798951f2da6.png

最终代码和DSL 完整版:https://articles.zsxq.com/id_cidkaht43ssd.html

3.2 数据写入

注意:字段原因,我先写入,后做的预处理。

上面采集数据已经存储为 csv,且验证是正确的后。正常应该对数据做一下清洗,我没有做任何处理,直接写入 Elasticsearch。

写入 Elasticsearch,这个也不复杂,就是多轮问一下就可以。

参见提示词:

cb8244b8ccb462f25c5ef5739fd697fc.png

4、数据预处理

为什么需要预处理?

因为采集的地理位置信息是省份。

我们之前积累的可视化必须是城市的 GEO 经纬度坐标信息。

所以,这里需要两次转换。

第一:省对应省会,比如:咱们采集到的河北,需要新增字段:石家庄。

第二:省会对应 GEO 经纬度坐标。(前面做战争题材有积累,我猜测不用积累,直接生成问题也不大)。

这块也可以提问实现。

a641f8d655f422301302776df39398cb.png

最终效果参考:

4885e3d963b34f52f7bee2a76f21d74e.png

5、Kibana 可视化

这快咱们视频讲的很多,基本一步步实现就行。

这块没有用AI ,自己搞定就可以。

结果就是大家开头看到的结果。

5.1 读者城市分布图

440b1c44fc0b2c0a14e72b56291ac604.png

基本覆盖全国各个大城市。

5.2 省份分布条形图63172bc08769c322f9c8aa5889a887f7.png

5.3 读者评分饼状图

c3cd2429d1ebb9bc6d397f5f10980bb3.png

看得出来,90.48%左右给出了5分好评!

5.4 评论词云效果图
f8d14211abd97bc9f062263165881e20.png

5.5 时间走势图

273a79e1f931e7ff562950529497d053.png

走势相对趋于平稳态势。

5.6 销量图

624e9f33dae0c6d2747658d47fd144c9.png

这个是咱们自己加的文字和配图,kibana 端是允许导入的。

基本和预期一致!!

6、AI 使用反思

之前自己写代码效率和现在相比是小巫见大巫,基本 AI 能解放很大一部分双手。

但是,最好的方式和 AI 一起讨论逐步给出清晰的解析方案。

AI 就是我们的架构师、大学教授、代码外包工程师、XXXX 一切都可以是。看我们怎么用它!

AI 一定不要一棵树吊死,一定要货比三家。

7、全部基于真实评论书评汇总

Elasticsearch 作为当今最流行的分布式搜索和分析引擎之一,在大数据存储和检索领域扮演着重要角色。

1bdea271bc61220154bea37d2ebfbb80.png

然而,市面上关于 Elasticsearch 的书籍大多版本较旧,且内容偏重于代码层面的讲解,缺乏对最新版本的系统性阐述。

近期出版的《一本书讲透 Elasticsearch:原理、进阶与工程实践》填补了这一空白,受到了广大读者的热烈好评。

读者真实反馈采集:https://t.zsxq.com/nS4va

7.1 全面覆盖 Elasticsearch 8.x 版本

这本书是市面上少有的全面讲解 Elasticsearch 8.x 版本的书籍之一。

很多读者反馈,书中内容紧跟最新版本,让他们在学习和工作中受益匪浅。

“这貌似是市面上第一本 8.x 的书,也是少有的 Elastic 创始人推荐的书。”——读者反馈

52ff383714aa0ffef5fe0ccdeea33f0e.png

7.2 从入门到精通,由浅入深的讲解

书中内容结构清晰,从基础原理开始,一步步引导读者深入理解 Elasticsearch 的核心概念和高级特性。无论是新手入门,还是有经验的开发者,都能从中找到有价值的内容。

“由浅入深,讲得很透彻,个人推荐购买阅读。”——读者反馈

35a6fc568355307507f6ca265e416bdb.png

“从简到难,一步步清晰的引导,完整的配套学习资料给学习添砖加瓦。”——读者反馈

bae1e97d88c4046c10c00c3482a3e953.png

7.3 实战案例与工程实践

除了理论知识,书中还包含了大量的实战案例和工程实践经验。这些内容源自作者多年的一线工作积累,具有很高的实用价值。

“既有底层原理的讲解,又有实战案例的分析,适合从事大数据存储和检索的工程师阅读。”——读者反馈

f1ff647e8ef6c21daa8d24a2e629034a.png

“里面写了作者经验之谈,很实用,面试 offer 每天都有。”——读者反馈

7.4 精心的内容设计与排版

不少读者提到,书的排版和字体设计合理,纸张质量好,阅读体验佳。同时,每章末尾的思维导图总结,也方便了知识的梳理和回顾。

“封面是磨砂质感的,页面排版和字体都很好,有看下去的欲望。”——读者反馈

8a214be2596f7ba58ec4f9b0c3d14137.png

“每章末尾脑图部分总结,看得出作者的用心。”——读者反馈

b6b17c411daa8b13fde57f72759d6605.png

7.5 适合的学习人群

这本书适合以下人群阅读:

  • Elasticsearch 初学者:从零开始,系统性地学习 Elasticsearch 的核心概念和使用方法。

  • 有经验的开发者:深入理解 Elasticsearch 的高级特性和内部原理,提升技术水平。

  • 大数据工程师:掌握 Elasticsearch 在大数据存储和检索中的应用。

  • 面试求职者:书中涵盖了大量实用知识点,有助于在面试中脱颖而出。

7.6 读者的真实反馈

许多读者在阅读后,都给予了高度评价:

  • 干货满满:内容详实,涵盖了从基础到高级的各个方面。

a0eb3d95fdf410f074a95acf86839b3b.png

  • 结构清晰:章节安排合理,逻辑性强,易于理解和消化。

e3d44c332c6cafe31def4091ecf6872d.png

  • 实用性强:结合实际案例,提供了很多可操作的经验和技巧。

de1e0099916ea4bfdb109321e12519a4.png

8、结语

《一本书讲透 Elasticsearch:原理、进阶与工程实践》无疑是一本不可多得的好书。它不仅填补了 Elasticsearch 8.x 版本的空白,还以其全面、深入和实用的特点,成为广大技术人员的必备参考书。

如果你正在寻找一本能够全面提升自己 Elasticsearch 技能的书籍,不妨一读。

参考:Kibana 8.X 如何做出靠谱的词云图?

相关文章:

《一本书讲透 Elasticsearch》京东评论采集+存储+可视化全 AI 实现

经常和出版社编辑老师交流读者的反馈。毕竟是小众书籍,豆瓣评分的人并不多。 而京东作为主要读书销售渠道,非常有必要整合一下京东读者评论,看看读者们都说了什么,以便后续的改进! 一条条的翻看非常不方便,…...

uniapp中webview全屏不显示导航栏解决方案

uniapp官网文档地址&#xff1a;https://uniapp.dcloud.net.cn/api/window/window.html#getappwebview <template><view class"index"><u-navbar :is-back"true" title"标题"" :title-width"650"></u-navb…...

Dear ImGui 使用VS2022编译为静态库

Dear ImGui 是一个无臃肿的 C++ 图形用户界面库。它输出优化的顶点缓冲区,您可以在支持 3D 管道的应用程序中随时渲染这些缓冲区。它速度快、可移植、与渲染器无关且自成一体(无外部依赖项)。 Dear ImGui 旨在实现快速迭代,并让程序员能够创建内容创建工具和可视化/调试工具…...

5G 现网信令参数学习(3) - RrcSetup(1)

目录 1. rlc-BearerToAddModList 1.1 rlc-Config 1.1.1 ul-AM-RLC 1.1.2 dl-AM-RLC 1.2 mac-LogicalChannelConfig 2. mac-CellGroupConfig 2.1 schedulingRequestConfig 2.2 bsr-Config 2.3 tag-Config 2.4 phr-Config 2.5 skipUplinkTxDynamic 3. physicalCellG…...

PHP实现身份证OCR识别API接口

随着社会的发展&#xff0c;身份认证需求不断增长&#xff0c;这与身份证OCR识别技术的发展密切相关。在当今社会&#xff0c;各个领域都需要进行身份认证。传统的人工手动录入身份证信息费时费力&#xff0c;速度慢且容易出错&#xff0c;体验不佳。而身份证 OCR 识别技术通过…...

关于 Qt+Osg中使用背景图HUD受到后绘制几何图形顶点颜色影响 的解决方法

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/143607816 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、Op…...

[CKS] K8S AppArmor Set Up

最近准备花一周的时间准备CKS考试&#xff0c;在准备考试中发现有一个题目关于AppArmor Pod操作权限的问题。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[CKS] …...

redis笔记-数据结构

zset zset一方面它是一个 set&#xff0c;保证了内部value 的唯一性&#xff0c;另一方面它可以给每个 value 赋予一个 score&#xff0c;代表这个 value 的排序权重。 zset的底层是由字典和跳表实现。 字典主要用来存储value和score的对应关系。跳表这个数据结构主要用来提…...

webpack的常见配置

Webpack 是一个现代 JavaScript 应用的模块打包工具&#xff0c;用于将项目中的多个文件和依赖打包成浏览器可以识别的文件&#xff0c;通常是一个或多个 JavaScript、CSS 或其他静态资源的 bundle&#xff08;将多个模块或文件合并成一个或几个文件的过程&#xff0c;这些合并…...

text-embedding-ada-002;BGE模型;M3E模型是Moka Massive Mixed Embedding;BERT

目录 text-embedding-ada-002 一、模型概述 二、模型功能 三、模型特点 四、模型应用 五、模型优势 BGE模型 一、模型背景与特点 二、模型性能与表现 三、模型迭代与发展 M3E模型是Moka Massive Mixed Embedding 一、基本信息 二、技术特点 三、应用场景 四、性能…...

WebRTC 环境搭建

主题 本文主要描述webrtc开发过程中所需的环境搭建 环境&#xff1a; 运行环境&#xff1a;ubuntu 20.04 Node.js环境搭建 安装编译 Node.js 所需的依赖包: sudo apt-get update sudo apt-get install -y build-essential libssl-dev 下载 Node.js 源码: curl -sL htt…...

FastHTML快速入门:http方法,CSS文件和内联样式,其他静态媒体文件位置

HTTP方法 FastHTML通过函数名与HTTP方法进行匹配。到目前为止&#xff0c;我们定义的URL路由都是针对HTTP GET方法的&#xff0c;这是网页最常见的方法。 表单提交通常作为HTTP POST发送。在处理更动态的网页设计时&#xff0c;也就是所谓的单页应用&#xff08;SPA&#xff0…...

项目管理和研发管理中的痛点及其解决方案

在现代企业中&#xff0c;研发管理和项目管理面临着多重挑战&#xff0c;包括资源配置不当、沟通不畅、目标不明确、进度控制困难等。这些痛点不仅影响项目的顺利推进&#xff0c;还可能导致企业在市场竞争中处于劣势。尤其是在资源配置不当方面&#xff0c;企业往往难以合理分…...

机器学习(基础1)

数据集 sklearn玩具数据集 数据量小&#xff0c;数据在sklearn库的本地&#xff0c;只要安装了sklearn&#xff0c;不用上网就可以获取 sklearn现实世界数据集 数据量大&#xff0c;数据只能通过网络获取&#xff08;为国外数据集&#xff0c;下载需要梯子&#xff09; skle…...

我谈维纳(Wiener)复原滤波器

Rafael Gonzalez的《数字图像处理》中&#xff0c;图像复原这章内容几乎全错。上篇谈了图像去噪&#xff0c;这篇谈图像复原。 图像复原也称为盲解卷积&#xff0c;不处理点扩散函数&#xff08;光学传递函数&#xff09;的都不是图像复原。几何校正不属于图像复原&#xff0c…...

怎么看真假国企啊?怎么识别假冒国企的千层套路?

一、怎么看真假国企啊&#xff1f; 1.使用具有迷惑性的名称&#xff1a;假冒国企往往在名称中使用“中国”、“中”、“国”等字样&#xff0c;或与知名国企名称相似的字号&#xff0c;以增加其可信度。 2.注册资本虚高&#xff1a;为了显示实力&#xff0c;假冒国企可能会在…...

C#中break和continue的区别?

在C#编程语言中&#xff0c;break和continue是两个用于控制循环流程的关键字&#xff0c;但它们的作用和用途有所不同。 break关键字 break关键字用于立即终止它所在的最内层循环或switch语句&#xff0c;并跳出该循环或switch块。程序执行将继续进行循环或switch语句之后的下一…...

Linux部署nginx访问文件403

问题描述&#xff1a;在linux服务器上通过nginx部署&#xff0c;访问文件403 新配置了一个用户来部署服务&#xff0c;将部署文件更新到原有目录下&#xff0c;结果nginx访问403 原因&#xff1a;没有配置文件的读写权限&#xff0c;默认不可读写&#xff0c;nginx无法访问到文…...

华为OD机试 - 数字排列 - 深度优先搜索dfs算法(Python/JS/C/C++ 2024 C卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

Scrapy爬取heima论坛所有页面内容并保存到数据库中

前期准备&#xff1a; Scrapy入门_win10安装scrapy-CSDN博客 新建 Scrapy项目 scrapy startproject mySpider03 # 项目名为mySpider03 进入到spiders目录 cd mySpider03/mySpider03/spiders 创建爬虫 scrapy genspider heima bbs.itheima.com # 爬虫名为heima &#…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

flow_controllers

关键点&#xff1a; 流控制器类型&#xff1a; 同步&#xff08;Sync&#xff09;&#xff1a;发布操作会阻塞&#xff0c;直到数据被确认发送。异步&#xff08;Async&#xff09;&#xff1a;发布操作非阻塞&#xff0c;数据发送由后台线程处理。纯同步&#xff08;PureSync…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...