在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

搜索客社区日报 第1906期 (2024-09-25)

1.Elasticsearch:检索增强生成背后的重要思想
https://blog.csdn.net/UbuntuTo ... 82995
2.RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
https://mp.weixin.qq.com/s/DddpD6wgD_PHy8mZ2jND8Q
3.Elasticsearch 完整格式的 URL 进行分词,有什么好的解决方案吗?
https://mp.weixin.qq.com/s/YTZxDQOKB4jKZDwOB84hiw

编辑:kin122 
更多资讯:http://news.searchkit.cn
继续阅读 »
1.Elasticsearch:检索增强生成背后的重要思想
https://blog.csdn.net/UbuntuTo ... 82995
2.RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
https://mp.weixin.qq.com/s/DddpD6wgD_PHy8mZ2jND8Q
3.Elasticsearch 完整格式的 URL 进行分词,有什么好的解决方案吗?
https://mp.weixin.qq.com/s/YTZxDQOKB4jKZDwOB84hiw

编辑:kin122 
更多资讯:http://news.searchkit.cn
收起阅读 »

【搜索客社区日报】第1905期 (2024-09-24)

1. 我打开Camel,这数据进入ES嗖嗖的(需要梯子)
https://www.elastic.co/search- ... -data
2. 为啥你们几个在一起能组成著名的ELKB?(需要梯子)
https://medium.com/%40amitvsol ... b82be
 
3. 靓仔,会不会在Linux上装logstash?(需要梯子)
https://medium.com/%40yago82/c ... b77e8
 
编辑:斯蒂文
更多资讯:http://news.searchkit.cn

 
继续阅读 »
1. 我打开Camel,这数据进入ES嗖嗖的(需要梯子)
https://www.elastic.co/search- ... -data
2. 为啥你们几个在一起能组成著名的ELKB?(需要梯子)
https://medium.com/%40amitvsol ... b82be
 
3. 靓仔,会不会在Linux上装logstash?(需要梯子)
https://medium.com/%40yago82/c ... b77e8
 
编辑:斯蒂文
更多资讯:http://news.searchkit.cn

  收起阅读 »

【搜索客社区日报】第1903期 (2024-09-20)

1、OpenSearch:混合搜索中的排名规范化概述
https://opensearch.org/blog/Ho ... arch/

2、一网打尽!处理 Elasticsearch 中未分配的分片问题(附完整 DSL 示例)
https://mp.weixin.qq.com/s/NUyQk_2LUITJG19YXf1WoQ

3、【老杨玩搜索】2. Easysearch 增删改查 | 从零开始实现页面搜索功能
https://www.bilibili.com/video/BV12M4m1S7H4/

4、RankRAG指令微调框架:让LLM在检索增强任务中更高效
https://mp.weixin.qq.com/s/FqUNHygaCIuQmeLxYRqyHw

5、编程语言之争:Rust 社区活跃开发者 Ed Page 谈 Rust 与 C++ 的未来
https://blog.csdn.net/GOSIM202 ... 36175

编辑:Fred
更多资讯:http://news.searchkit.cn
继续阅读 »
1、OpenSearch:混合搜索中的排名规范化概述
https://opensearch.org/blog/Ho ... arch/

2、一网打尽!处理 Elasticsearch 中未分配的分片问题(附完整 DSL 示例)
https://mp.weixin.qq.com/s/NUyQk_2LUITJG19YXf1WoQ

3、【老杨玩搜索】2. Easysearch 增删改查 | 从零开始实现页面搜索功能
https://www.bilibili.com/video/BV12M4m1S7H4/

4、RankRAG指令微调框架:让LLM在检索增强任务中更高效
https://mp.weixin.qq.com/s/FqUNHygaCIuQmeLxYRqyHw

5、编程语言之争:Rust 社区活跃开发者 Ed Page 谈 Rust 与 C++ 的未来
https://blog.csdn.net/GOSIM202 ... 36175

编辑:Fred
更多资讯:http://news.searchkit.cn 收起阅读 »

【第4期】搜索客 Meetup | INFINI Pizza 网站 SVG 动画这么炫,我教你啊!

本次 Meetup 活动由 搜索客社区、极限科技(INFINI Labs)联合举办,活动主题将从设计师的角度出发,探讨如何在零编程基础下,借助 ChatGPT 和 SVG,搞定 INFINI Pizza 首页动效,从设计到实现,探索 AI 的更多玩法。欢迎大家预约报名参加和交流。

活动主题:INFINI Pizza 网站 SVG 动画这么炫,我教你啊!
活动时间:2024 年 9 月 25 日 19:00-20:00(周三)
活动形式:微信视频号(极限实验室)直播
报名方式:关注或扫码海报中的二维码进行预约

嘉宾介绍

邹稳安,拥有多年 UI/UE 设计经验。现任极限科技设计团队负责人,负责公司产品、UI 设计,致力于通过设计提升用户体验。

主题摘要

什么?一个设计师,让我干前端的活?

当前端工程师无法及时接手项目时,设计师能否独立完成网页动效?本次 Meetup 将分享设计师如何在零编程基础下,借助 ChatGPT 和 SVG,搞定 INFINI Pizza 首页动效。从设计到实现,探索 AI 的更多玩法。

图:Pizza 官网(https://pizza.rs)首页动画效果

参与有奖

本次直播活动将设有福袋抽奖环节,参与就有机会获得 INFINI Labs 周边纪念品,包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等(图片仅供参考,款式、颜色与尺码随机)。

活动交流

本活动设有 Meetup 技术交流群,可添加小助手微信拉群,与更多小伙伴一起学习交流。

Meetup 讲师招募

搜索客社区 Meetup 的成功举办,离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中,我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题,与大家分享您的经验。

讲师报名链接:http://cfp.searchkit.cn
或扫描下方二维码,立刻报名成为讲师!

Meetup 活动聚焦 AI 与搜索领域的最新动态,以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。

我们热切期待您的精彩分享!

往期回顾

  1. 【第 3 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 下篇
  2. 【第 2 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 上篇
  3. 【第 1 期】搜索客 Meetup | Easysearch 结合大模型实现 RAG

关于 搜索客(SearchKit)社区

搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级,以新的 Slogan:“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等,为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。

社区官网:https://searchkit.cn

继续阅读 »

本次 Meetup 活动由 搜索客社区、极限科技(INFINI Labs)联合举办,活动主题将从设计师的角度出发,探讨如何在零编程基础下,借助 ChatGPT 和 SVG,搞定 INFINI Pizza 首页动效,从设计到实现,探索 AI 的更多玩法。欢迎大家预约报名参加和交流。

活动主题:INFINI Pizza 网站 SVG 动画这么炫,我教你啊!
活动时间:2024 年 9 月 25 日 19:00-20:00(周三)
活动形式:微信视频号(极限实验室)直播
报名方式:关注或扫码海报中的二维码进行预约

嘉宾介绍

邹稳安,拥有多年 UI/UE 设计经验。现任极限科技设计团队负责人,负责公司产品、UI 设计,致力于通过设计提升用户体验。

主题摘要

什么?一个设计师,让我干前端的活?

当前端工程师无法及时接手项目时,设计师能否独立完成网页动效?本次 Meetup 将分享设计师如何在零编程基础下,借助 ChatGPT 和 SVG,搞定 INFINI Pizza 首页动效。从设计到实现,探索 AI 的更多玩法。

图:Pizza 官网(https://pizza.rs)首页动画效果

参与有奖

本次直播活动将设有福袋抽奖环节,参与就有机会获得 INFINI Labs 周边纪念品,包括 T 恤、鸭舌帽、咖啡杯、指甲刀套件等等(图片仅供参考,款式、颜色与尺码随机)。

活动交流

本活动设有 Meetup 技术交流群,可添加小助手微信拉群,与更多小伙伴一起学习交流。

Meetup 讲师招募

搜索客社区 Meetup 的成功举办,离不开社区小伙伴的热情参与。目前社区讲师招募计划也在持续进行中,我们诚挚邀请各位技术大咖、行业精英踊跃提交演讲议题,与大家分享您的经验。

讲师报名链接:http://cfp.searchkit.cn
或扫描下方二维码,立刻报名成为讲师!

Meetup 活动聚焦 AI 与搜索领域的最新动态,以及数据实时搜索分析、向量检索、技术实践与案例分析、日志分析、安全等领域的深度探讨。

我们热切期待您的精彩分享!

往期回顾

  1. 【第 3 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 下篇
  2. 【第 2 期】搜索客 Meetup | Elasticsearch 的代码结构和写入查询流程的解读 - 上篇
  3. 【第 1 期】搜索客 Meetup | Easysearch 结合大模型实现 RAG

关于 搜索客(SearchKit)社区

搜索客社区由 Elasticsearch 中文社区进行全新的品牌升级,以新的 Slogan:“搜索人自己的社区” 为宣言。汇集搜索领域最新动态、精选干货文章、精华讨论、文档资料、翻译与版本发布等,为广大搜索领域从业者提供更为丰富便捷的学习和交流平台。

社区官网:https://searchkit.cn

收起阅读 »

【搜索客社区日报】第1902期 (2024-09-19)

1.Multimodal RAG: Chat with Videos
https://learn.deeplearning.ai/ ... ideos
2.Qwen2.5感觉成了,热泪眼眶
https://mp.weixin.qq.com/s/nGhkIyelt5OdwSUGx7FQcg
3.SiliconCloud上线Flux.1:文生图比肩MJ v6,免费尝鲜
https://mp.weixin.qq.com/s/zyg3wDPMaLPwac_UYjB6uQ
4.如何在MindSearch中集成新的搜索API,全面提升智能搜索能力!https://mp.weixin.qq.com/s/jCe5ii1TO88tEtsYDOYo9w

编辑:Se7en  
更多资讯:http://news.searchkit.cn
继续阅读 »
1.Multimodal RAG: Chat with Videos
https://learn.deeplearning.ai/ ... ideos
2.Qwen2.5感觉成了,热泪眼眶
https://mp.weixin.qq.com/s/nGhkIyelt5OdwSUGx7FQcg
3.SiliconCloud上线Flux.1:文生图比肩MJ v6,免费尝鲜
https://mp.weixin.qq.com/s/zyg3wDPMaLPwac_UYjB6uQ
4.如何在MindSearch中集成新的搜索API,全面提升智能搜索能力!https://mp.weixin.qq.com/s/jCe5ii1TO88tEtsYDOYo9w

编辑:Se7en  
更多资讯:http://news.searchkit.cn 收起阅读 »

【第3期】INFINI Easysearch 免费认证培训开放报名

20240913-144305.png

探索 Easysearch 的无限可能,与 INFINI Labs 共赴搜索技术前沿!

随着数字化转型的加速,搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者,诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合作伙伴,参加我们即将于 2024 年 10 月 19 日至 20 日举办的第 3 期 Easysearch 线上免费培训活动。这不仅是一场知识的盛宴,更是技能提升的加速器,将助您在职业道路上迈出坚实的一步!

活动亮点

  • 系统课程,全面深入:从 Easysearch 的基本概念到环境搭建,再到高级功能的实战应用,INFINI Labs 的技术专家将为您带来全面而深入的讲解,确保每位参与者都能收获满满。
  • 实战导向,解决痛点:课程设计紧贴实际需求,旨在帮助学员掌握 Easysearch 的核心技术,有效解决工作中的搜索需求和技术难题,让理论知识迅速转化为实践能力。
  • 认证证书,助力进阶:后期 INFINI Labs 将推出 Easysearch 认证考试。通过考试的学员将获得官方认证的 Easysearch 证书,为您的职业发展增添强力背书,开启职业生涯的新篇章。

培训时间

2024 年 10 月 19 日至 20 日(周六、周日)共两天,每天具体培训时间:

  • 上午 09:30 ~ 11:30
  • 下午 14:00 ~ 16:00

培训内容概览

第一阶段:初识 Easysearch

  • Easysearch 环境搭建与对比,了解其与 Elasticsearch 的差异;
  • 功能初探:身份验证、数据脱敏、权限控制等,全面掌握 Easysearch 的基础功能;
  • 容灾技术:兼容性验证、跨集群复制等,确保您的搜索服务稳定可靠;

第二阶段:Easysearch 高阶使用

  • 深度探析:性能压测、数据迁移、请求管理等,提升 Easysearch 的使用效率;
  • 高级功能:快照管理、可视化看板、告警功能等,让您的搜索服务更加智能;
  • 生态集成:Filebeat、Logstash、LangChain 等,轻松实现 Easysearch 与其他工具的集成;

参与方式

本次活动完全免费,名额有限,请尽快报名,同时微信扫码添加小助手进群(培训会议地址将在微信群公布),锁定您的学习席位!

扫码或点击 我要报名

报名

👉 立即行动:不要错过这次提升自我、与行业精英共成长的宝贵机会。让我们相聚云端,共同探索 Easysearch 的无限可能,开启技术进阶的新篇章!

参会提示

  • 培训内容涉及动手实践,请务必自备电脑(Windows 系统环境请提前安装好 Linux 虚拟机);
  • 请提前在 INFINI Labs 官网下载对应平台最新安装包(INFINI Easysearch、INFINI Gateway、INFINI Console);
  • 下载地址:https://infinilabs.cn/download

联系我们

如有任何疑问,欢迎通过微信添加 [小助手:INFINI-Labs] 与我们联系。

INFINI Labs 期待与您相约,共赴这场技术盛宴!

关于 Easysearch

Easysearch

Easysearch 是一个分布式的近实时搜索与分析引擎,基于开源的 Apache Lucene 构建。它旨在提供一个自主可控、轻量级的 Elasticsearch 可替代版本,并不断完善和支持更多的企业级功能。与 Elasticsearch 相比,Easysearch 更注重搜索业务场景的优化,同时保持其产品的简洁与易用性。

详情参见:Easysearch 介绍

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://infinilabs.cn

继续阅读 »

20240913-144305.png

探索 Easysearch 的无限可能,与 INFINI Labs 共赴搜索技术前沿!

随着数字化转型的加速,搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者,诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合作伙伴,参加我们即将于 2024 年 10 月 19 日至 20 日举办的第 3 期 Easysearch 线上免费培训活动。这不仅是一场知识的盛宴,更是技能提升的加速器,将助您在职业道路上迈出坚实的一步!

活动亮点

  • 系统课程,全面深入:从 Easysearch 的基本概念到环境搭建,再到高级功能的实战应用,INFINI Labs 的技术专家将为您带来全面而深入的讲解,确保每位参与者都能收获满满。
  • 实战导向,解决痛点:课程设计紧贴实际需求,旨在帮助学员掌握 Easysearch 的核心技术,有效解决工作中的搜索需求和技术难题,让理论知识迅速转化为实践能力。
  • 认证证书,助力进阶:后期 INFINI Labs 将推出 Easysearch 认证考试。通过考试的学员将获得官方认证的 Easysearch 证书,为您的职业发展增添强力背书,开启职业生涯的新篇章。

培训时间

2024 年 10 月 19 日至 20 日(周六、周日)共两天,每天具体培训时间:

  • 上午 09:30 ~ 11:30
  • 下午 14:00 ~ 16:00

培训内容概览

第一阶段:初识 Easysearch

  • Easysearch 环境搭建与对比,了解其与 Elasticsearch 的差异;
  • 功能初探:身份验证、数据脱敏、权限控制等,全面掌握 Easysearch 的基础功能;
  • 容灾技术:兼容性验证、跨集群复制等,确保您的搜索服务稳定可靠;

第二阶段:Easysearch 高阶使用

  • 深度探析:性能压测、数据迁移、请求管理等,提升 Easysearch 的使用效率;
  • 高级功能:快照管理、可视化看板、告警功能等,让您的搜索服务更加智能;
  • 生态集成:Filebeat、Logstash、LangChain 等,轻松实现 Easysearch 与其他工具的集成;

参与方式

本次活动完全免费,名额有限,请尽快报名,同时微信扫码添加小助手进群(培训会议地址将在微信群公布),锁定您的学习席位!

扫码或点击 我要报名

报名

👉 立即行动:不要错过这次提升自我、与行业精英共成长的宝贵机会。让我们相聚云端,共同探索 Easysearch 的无限可能,开启技术进阶的新篇章!

参会提示

  • 培训内容涉及动手实践,请务必自备电脑(Windows 系统环境请提前安装好 Linux 虚拟机);
  • 请提前在 INFINI Labs 官网下载对应平台最新安装包(INFINI Easysearch、INFINI Gateway、INFINI Console);
  • 下载地址:https://infinilabs.cn/download

联系我们

如有任何疑问,欢迎通过微信添加 [小助手:INFINI-Labs] 与我们联系。

INFINI Labs 期待与您相约,共赴这场技术盛宴!

关于 Easysearch

Easysearch

Easysearch 是一个分布式的近实时搜索与分析引擎,基于开源的 Apache Lucene 构建。它旨在提供一个自主可控、轻量级的 Elasticsearch 可替代版本,并不断完善和支持更多的企业级功能。与 Elasticsearch 相比,Easysearch 更注重搜索业务场景的优化,同时保持其产品的简洁与易用性。

详情参见:Easysearch 介绍

关于极限科技(INFINI Labs)

INFINI Labs

极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

官网:https://infinilabs.cn

收起阅读 »

【搜索客社区日报】第1901期 (2024-09-13)

1、大招憋出来了!OpenAI 发布最强推理模型 o1,它真的会思考,但 API 比 4o 贵好几倍
https://mp.weixin.qq.com/s/O7JjH182dyIP7bgSaYomBg

2、RankRAG 指令微调框架:让 LLM 在检索增强任务中更高效
https://mp.weixin.qq.com/s/FqUNHygaCIuQmeLxYRqyHw

3、如何用 Scrapy 爬取网站数据并在 Easysearch 中进行存储检索分析
https://mp.weixin.qq.com/s/8M0a3NbLvRJNyAepp1N_hA

4、【老杨玩搜索】1.Easysearch 安装 | 从零开始实现页面搜索功能
https://mp.weixin.qq.com/s/utLpCdaonOjpMucQ-k7CgA

编辑:Fred 
更多资讯:http://news.searchkit.cn
继续阅读 »
1、大招憋出来了!OpenAI 发布最强推理模型 o1,它真的会思考,但 API 比 4o 贵好几倍
https://mp.weixin.qq.com/s/O7JjH182dyIP7bgSaYomBg

2、RankRAG 指令微调框架:让 LLM 在检索增强任务中更高效
https://mp.weixin.qq.com/s/FqUNHygaCIuQmeLxYRqyHw

3、如何用 Scrapy 爬取网站数据并在 Easysearch 中进行存储检索分析
https://mp.weixin.qq.com/s/8M0a3NbLvRJNyAepp1N_hA

4、【老杨玩搜索】1.Easysearch 安装 | 从零开始实现页面搜索功能
https://mp.weixin.qq.com/s/utLpCdaonOjpMucQ-k7CgA

编辑:Fred 
更多资讯:http://news.searchkit.cn 收起阅读 »

如何用 Scrapy 爬取网站数据并在 Easysearch 中进行存储检索分析

做过数据分析和爬虫程序的小伙伴想必对 Scrapy 这个爬虫框架已经很熟悉了。今天给大家介绍下,如何基于 Scrapy 快速编写一个爬虫程序并利用 Easysearch 储存、检索、分析爬取的数据。我们以极限科技的官网 Blog 为数据源(https://infinilabs.cn/blog) ,做下实操演示。

1、安装 scrapy

使用 Scrapy 可以快速构建一个爬虫项目,从目标网站中获取所需的数据,并进行后续的处理和分析。

pip install scrapy

# 新建项目 infini_spiders
scrapy startproject infini_spiders

# 初始化爬虫
cd infini_spiders/spiders
scrapy genspider blog infinilabs.cn

2、爬虫编写

编写一个爬虫文件 blog.py ,它会首先访问 start_urls 指定的地址,将结果发给 parse 函数解析。通过这一步解析,我们得到了每一篇博客的地址。然后我们对每个博客的地址发送请求,将结果发给 parse_blog 函数进行解析,在这里才会真正提取每篇博客的 title、tag、url、date、content 内容。

from typing import Any, Iterable
import scrapy
from bs4 import BeautifulSoup
from scrapy.http import Response

class BlogSpider(scrapy.Spider):
    name = "blog"
    allowed_domains = ["infinilabs.cn"]
    start_urls = ["https://infinilabs.cn/blog/"]

    def parse(self, response):
        links = response.css("div.blogs a")
        yield from response.follow_all(links, self.parse_blog)

    def parse_blog(self, response):
        title = response.xpath('//div[@class="title"]/text()').extract_first()
        tags = response.xpath('//div[@class="tags"]/div[@class="tag"]/text()').extract()
        url = response.url
        author = response.xpath('//div[@class="logo"]/div[@class="name"]//text()').extract_first()
        date = response.xpath('//div[@class="date"]/text()').extract_first()
        all_text = response.xpath('//p//text() | //h3/text() | //h2/text() | //h4/text() | //ol/li//text()').extract()
        content = '\n'.join(all_text)

        yield {
            'title': title,
            'tags': tags,
            'url': url,
            'author': author,
            'date': date,
            'content': content
        }

提取完我们想要的内容后,接下来就要考虑存储了。考虑到要对内容进行检索、分析,接下来我们将内容直接存放到 Easysearch 当中。

3、安装插件

通过安装 ScrapyElasticsearch pipeline 可将 scrapy 爬取的内容存入到 Easysearch 中。

pip install ScrapyElasticSearch

修改 scrapy 自带的配置文件 settings.py ,添加以下内容。

ITEM_PIPELINES = {
    'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline': 10
}

ELASTICSEARCH_SERVERS = ['http://192.168.56.3:9210']
ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_INDEX_DATE_FORMAT = '%Y-%m-%d'
ELASTICSEARCH_TYPE = '_doc'
ELASTICSEARCH_USERNAME = 'admin'
ELASTICSEARCH_PASSWORD = '9423d1d5345ed6d0db19'

ScrapyElasticSearch 会以 bulk 方式写入 Easysearch,每次批量的大小由 scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline 参数控制,大家可自行修改。

在上述配置中,我们会将爬到的数据存放到 scrapy-yyyy-mm-dd 索引中。

4、启动爬虫

在 infini_spiders/spiders 目录下,使用命令启动爬虫。

scrapy crawl blog

blog 就是爬虫的名字,对应到 blog.py 里面的 name 变量。运行完成后,就可以去 Easysearch 里查看数据了,当然我们还是使用 Console 进行查看。

5、查看数据

先查看下索引情况,scrapy 索引已经生成,里面有 129 篇博客。

查看详细内容,确保博客正文已经保存。

到了这一步,我们就能使用 Console 对博客进行搜索、分析了。

6、结语

这次的分享就到这里了。欢迎与我一起交流 ES 的各种问题和解决方案。

关于 Easysearch

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

官网文档:https://infinilabs.cn/docs/latest/easysearch

作者:杨帆
原文:https://infinilabs.cn/blog/2024/use-scrapy-to-crawl-website-data-and-store-search-analyze-in-easysearch/

继续阅读 »

做过数据分析和爬虫程序的小伙伴想必对 Scrapy 这个爬虫框架已经很熟悉了。今天给大家介绍下,如何基于 Scrapy 快速编写一个爬虫程序并利用 Easysearch 储存、检索、分析爬取的数据。我们以极限科技的官网 Blog 为数据源(https://infinilabs.cn/blog) ,做下实操演示。

1、安装 scrapy

使用 Scrapy 可以快速构建一个爬虫项目,从目标网站中获取所需的数据,并进行后续的处理和分析。

pip install scrapy

# 新建项目 infini_spiders
scrapy startproject infini_spiders

# 初始化爬虫
cd infini_spiders/spiders
scrapy genspider blog infinilabs.cn

2、爬虫编写

编写一个爬虫文件 blog.py ,它会首先访问 start_urls 指定的地址,将结果发给 parse 函数解析。通过这一步解析,我们得到了每一篇博客的地址。然后我们对每个博客的地址发送请求,将结果发给 parse_blog 函数进行解析,在这里才会真正提取每篇博客的 title、tag、url、date、content 内容。

from typing import Any, Iterable
import scrapy
from bs4 import BeautifulSoup
from scrapy.http import Response

class BlogSpider(scrapy.Spider):
    name = "blog"
    allowed_domains = ["infinilabs.cn"]
    start_urls = ["https://infinilabs.cn/blog/"]

    def parse(self, response):
        links = response.css("div.blogs a")
        yield from response.follow_all(links, self.parse_blog)

    def parse_blog(self, response):
        title = response.xpath('//div[@class="title"]/text()').extract_first()
        tags = response.xpath('//div[@class="tags"]/div[@class="tag"]/text()').extract()
        url = response.url
        author = response.xpath('//div[@class="logo"]/div[@class="name"]//text()').extract_first()
        date = response.xpath('//div[@class="date"]/text()').extract_first()
        all_text = response.xpath('//p//text() | //h3/text() | //h2/text() | //h4/text() | //ol/li//text()').extract()
        content = '\n'.join(all_text)

        yield {
            'title': title,
            'tags': tags,
            'url': url,
            'author': author,
            'date': date,
            'content': content
        }

提取完我们想要的内容后,接下来就要考虑存储了。考虑到要对内容进行检索、分析,接下来我们将内容直接存放到 Easysearch 当中。

3、安装插件

通过安装 ScrapyElasticsearch pipeline 可将 scrapy 爬取的内容存入到 Easysearch 中。

pip install ScrapyElasticSearch

修改 scrapy 自带的配置文件 settings.py ,添加以下内容。

ITEM_PIPELINES = {
    'scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline': 10
}

ELASTICSEARCH_SERVERS = ['http://192.168.56.3:9210']
ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_INDEX_DATE_FORMAT = '%Y-%m-%d'
ELASTICSEARCH_TYPE = '_doc'
ELASTICSEARCH_USERNAME = 'admin'
ELASTICSEARCH_PASSWORD = '9423d1d5345ed6d0db19'

ScrapyElasticSearch 会以 bulk 方式写入 Easysearch,每次批量的大小由 scrapyelasticsearch.scrapyelasticsearch.ElasticSearchPipeline 参数控制,大家可自行修改。

在上述配置中,我们会将爬到的数据存放到 scrapy-yyyy-mm-dd 索引中。

4、启动爬虫

在 infini_spiders/spiders 目录下,使用命令启动爬虫。

scrapy crawl blog

blog 就是爬虫的名字,对应到 blog.py 里面的 name 变量。运行完成后,就可以去 Easysearch 里查看数据了,当然我们还是使用 Console 进行查看。

5、查看数据

先查看下索引情况,scrapy 索引已经生成,里面有 129 篇博客。

查看详细内容,确保博客正文已经保存。

到了这一步,我们就能使用 Console 对博客进行搜索、分析了。

6、结语

这次的分享就到这里了。欢迎与我一起交流 ES 的各种问题和解决方案。

关于 Easysearch

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

官网文档:https://infinilabs.cn/docs/latest/easysearch

作者:杨帆
原文:https://infinilabs.cn/blog/2024/use-scrapy-to-crawl-website-data-and-store-search-analyze-in-easysearch/

收起阅读 »

搜索客社区日报 第1899期 (2024-09-11)

1.为lucene二分查找提速10%
https://mp.weixin.qq.com/s/dGgPK5tKECrF33kziSbKuQ
2.在 Elastic 8.15 中使用最少的代码快速构建 RAG
https://blog.csdn.net/UbuntuTo ... 25165
3.RAG LLM 最佳实践(搭梯)
https://medium.com/israeli-tec ... 1201f


编辑:kin122 
更多资讯:http://news.searchkit.cn
继续阅读 »
1.为lucene二分查找提速10%
https://mp.weixin.qq.com/s/dGgPK5tKECrF33kziSbKuQ
2.在 Elastic 8.15 中使用最少的代码快速构建 RAG
https://blog.csdn.net/UbuntuTo ... 25165
3.RAG LLM 最佳实践(搭梯)
https://medium.com/israeli-tec ... 1201f


编辑:kin122 
更多资讯:http://news.searchkit.cn 收起阅读 »

【搜索客社区日报】第1898期 (2024-09-10)

教师节快乐!

1. 用够浪+redis+es搭的实时告警…很强(需要梯子)
https://levelup.gitconnected.c ... c9cef

2. 日志处理里ES是最好的选择吗?(需要梯子)
https://medium.com/%40greptime ... e690e

3. 给你的程序配一个搜索引擎需要多久?最多45分钟!(需要梯子)
https://medium.com/%40danielre ... 45761

编辑:斯蒂文
更多资讯:http://news.searchkit.cn
继续阅读 »
教师节快乐!

1. 用够浪+redis+es搭的实时告警…很强(需要梯子)
https://levelup.gitconnected.c ... c9cef

2. 日志处理里ES是最好的选择吗?(需要梯子)
https://medium.com/%40greptime ... e690e

3. 给你的程序配一个搜索引擎需要多久?最多45分钟!(需要梯子)
https://medium.com/%40danielre ... 45761

编辑:斯蒂文
更多资讯:http://news.searchkit.cn 收起阅读 »

【搜索客社区日报】第1897期 (2024-09-09)

1. “宇宙最强”开源代码编辑器——VS Code优化Linux版本UI、改进Copilot功能……
https://mp.weixin.qq.com/s/_j1gpz_rNVO8-V1JPwvOgA

2. 基于 INFINI Pizza 为 Hugo 静态站点添加搜索功能
https://infinilabs.cn/blog/202 ... izza/

3. 搜索引擎原理解析:从0开始实现一个搜索引擎
https://cloud.tencent.com/deve ... 72543

4. 利用MongoDB进行数据治理,防范构建生成式AI应用程序时的潜在安全风险
https://www.modb.pro/db/182607 ... x_hot

5. 一篇文章让你彻底掌握 Shell
https://mp.weixin.qq.com/s/GmSqHJiBToncvcpFAJUZbw

编辑:Muse 
更多资讯:http://news.searchkit.cn
继续阅读 »
1. “宇宙最强”开源代码编辑器——VS Code优化Linux版本UI、改进Copilot功能……
https://mp.weixin.qq.com/s/_j1gpz_rNVO8-V1JPwvOgA

2. 基于 INFINI Pizza 为 Hugo 静态站点添加搜索功能
https://infinilabs.cn/blog/202 ... izza/

3. 搜索引擎原理解析:从0开始实现一个搜索引擎
https://cloud.tencent.com/deve ... 72543

4. 利用MongoDB进行数据治理,防范构建生成式AI应用程序时的潜在安全风险
https://www.modb.pro/db/182607 ... x_hot

5. 一篇文章让你彻底掌握 Shell
https://mp.weixin.qq.com/s/GmSqHJiBToncvcpFAJUZbw

编辑:Muse 
更多资讯:http://news.searchkit.cn 收起阅读 »

【搜索客社区日报】第1896期 (2024-09-06)

1、什么是 MongoDB Atlas Search?一款基于 Apache Lucene 构建全文搜索系统
https://www.mongodb.com/zh-cn/ ... arch/

2、Elasticsearch 8 让企业更快更好地落地 RAG 应用
https://mp.weixin.qq.com/s/smR2Q_HarUFA4pSCoN8tNA

3、OpenSearch:通过并发段搜索提高矢量搜索性能
https://opensearch.org/blog/bo ... -css/

4、多模态大型语言模型 (LLM) 的工作原理
https://mp.weixin.qq.com/s/1qYuYa-L53M9WwfvHNvl_Q

编辑:Fred  
更多资讯:http://news.searchkit.cn
继续阅读 »
1、什么是 MongoDB Atlas Search?一款基于 Apache Lucene 构建全文搜索系统
https://www.mongodb.com/zh-cn/ ... arch/

2、Elasticsearch 8 让企业更快更好地落地 RAG 应用
https://mp.weixin.qq.com/s/smR2Q_HarUFA4pSCoN8tNA

3、OpenSearch:通过并发段搜索提高矢量搜索性能
https://opensearch.org/blog/bo ... -css/

4、多模态大型语言模型 (LLM) 的工作原理
https://mp.weixin.qq.com/s/1qYuYa-L53M9WwfvHNvl_Q

编辑:Fred  
更多资讯:http://news.searchkit.cn 收起阅读 »

【搜索客社区日报】第1895期 (2024-09-05)

1.Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案
https://mp.weixin.qq.com/s/qosGdlMJO_w2Ge3i0hdHlA
2.深入体验全新 Cursor AI IDE 后,说杀疯了真不为过!
https://mp.weixin.qq.com/s/CnKMYjpn3YeoHYpoZ7iGIw
3.KubeCon China 回顾|快手的 100% 资源利用率提升:从裸机迁移大规模 Redis 到 Kubernetes
https://mp.weixin.qq.com/s/UGqzq1L2Hu1PjF3Y08XT5Q

编辑:Se7en  
更多资讯:http://news.searchkit.cn
继续阅读 »
1.Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案
https://mp.weixin.qq.com/s/qosGdlMJO_w2Ge3i0hdHlA
2.深入体验全新 Cursor AI IDE 后,说杀疯了真不为过!
https://mp.weixin.qq.com/s/CnKMYjpn3YeoHYpoZ7iGIw
3.KubeCon China 回顾|快手的 100% 资源利用率提升:从裸机迁移大规模 Redis 到 Kubernetes
https://mp.weixin.qq.com/s/UGqzq1L2Hu1PjF3Y08XT5Q

编辑:Se7en  
更多资讯:http://news.searchkit.cn 收起阅读 »

【搜索客社区日报】第1894期 (2024-09-04)

1.Elastic Connectors:增量同步对性能的影响
https://zhuanlan.zhihu.com/p/714675735
2.时隔3年重新开源,这些 ElasticSearch 应用技能运维必会?
https://mp.weixin.qq.com/s/vGbH-rkurt2ydRBPiVrC4w
3.Elasticsearch 回顾:向量搜索创新的时间线
https://blog.csdn.net/UbuntuTo ... 68994

编辑:kin122 
更多资讯:http://news.searchkit.cn
 
继续阅读 »
1.Elastic Connectors:增量同步对性能的影响
https://zhuanlan.zhihu.com/p/714675735
2.时隔3年重新开源,这些 ElasticSearch 应用技能运维必会?
https://mp.weixin.qq.com/s/vGbH-rkurt2ydRBPiVrC4w
3.Elasticsearch 回顾:向量搜索创新的时间线
https://blog.csdn.net/UbuntuTo ... 68994

编辑:kin122 
更多资讯:http://news.searchkit.cn
  收起阅读 »

【搜索客社区日报】第1893期 (2024-09-03)

1. ES可以拿来做图数据库不?(需要梯子)
https://medium.com/%40imriqwe/ ... f7622
2. ES里的搜索上下文和filter上下文是啥?(需要梯子)
https://mahajanjatin-14.medium ... d31de
3. 来来来,老司机教你几步解决未分配的分片(需要梯子)
https://medium.com/%40yago82/a ... 33d9d
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 
继续阅读 »
1. ES可以拿来做图数据库不?(需要梯子)
https://medium.com/%40imriqwe/ ... f7622
2. ES里的搜索上下文和filter上下文是啥?(需要梯子)
https://mahajanjatin-14.medium ... d31de
3. 来来来,老司机教你几步解决未分配的分片(需要梯子)
https://medium.com/%40yago82/a ... 33d9d
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
  收起阅读 »