疲劳是最舒适的枕头,努力工作吧。

kibana和es的跨集群搜索是否可以连接easysearch?

Easysearchmedcl 回复了问题 • 2 人关注 • 1 个回复 • 4461 次浏览 • 2025-09-11 19:03 • 来自相关话题

Easysearch 冷热架构实战

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 3027 次浏览 • 2025-10-01 20:11 • 来自相关话题


在之前的文章中,我们介绍了如何使用[索引生命周期策略](https://infinilabs.cn/blog/202 ... guide/)来管理索引。如果要求索引根据其生命周期阶段自动在不同的节点之间迁移,还需要用到冷热架构。我们来看看具体如何实现。

冷热架构


冷热架构其实就是在 Easyearch 集群中定义不同属性的节点,这些节点共同组成冷热架构。比如给所有热节点一个 hot 属性,给所有冷节点一个 cold 属性。在 Easyearch 中分配节点属性是通过配置文件(easysearch.yml)来实现的,比如我要定义一个热节点和一个冷节点,我可以在对应节点的配置文件中添加如下行:

```plain

热节点添加下面的行

node.attr.temp: hot

冷节点添加下面的行

node.attr.temp: cold
<br /> <br /> 有了这些属性,我们就可以指定索引分片在分配时,是落在 hot 节点还是 cold 节点。<br /> <br /> **查看节点属性**<br /> <br /> 测试环境是个 2 节点的 Easysearch 集群。<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2025/easysearch-hot-warm-arch/1.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... /1.pn</a>g)<br /> <br /> 比如我创建新索引 test-index,希望它被分配到 hot 节点上。<br /> <br /> plain
PUT test-index
{
"settings": {
"number_of_replicas": 0,
"index.routing.allocation.require.temp": "hot"
}
}
<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2025/easysearch-hot-warm-arch/2.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... /2.pn</a>g)<br /> <br /> 可以看到 test-index 索引的分片分配到 hot 节点 node-1 上。我们修改索引分配节点的属性,让其移动到 cold 节点 node-2 上。<br /> <br /> plain
PUT test-index/_settings
{
"settings": {
"index.routing.allocation.require.temp": "cold"
}
}
```

![](https://infinilabs.cn/img/blog ... /3.png)

生命周期与冷热架构


在上面的例子中,我们通过索引分配节点属性对索引“坐落”的节点进行了控制。在索引生命周期策略中也支持对该属性进行修改,实现索引根据生命周期阶段自动在不同的节点之间移动的目的。

比如我们定义一个简单的索引策略:

  • 索引创建后进入 hot 阶段,此阶段的索引被分配到 hot 节点
  • 创建索引 3 分钟后,索引进入 cold 阶段,此阶段索引分片移动到 cold 节点

    创建策略


    plain<br /> PUT _ilm/policy/ilm_test<br /> {<br /> "policy": {<br /> "phases": {<br /> "hot": {<br /> "min_age": "0m",<br /> },<br /> "cold": {<br /> "min_age": "3m",<br /> "actions": {<br /> "allocate" : {<br /> "require" : {<br /> "temp": "cold"<br /> }<br /> }<br /> }<br /> }<br /> }<br /> }<br /> }<br />

    生命周期策略后台是定期触发的任务,为了更快的观测到效果,可以修改任务触发周期为每分钟 1 次。

    plain<br /> PUT _cluster/settings<br /> {<br /> "transient": {<br /> "index_lifecycle_management.job_interval":"1"<br /> }<br /> }<br />

    创建索引模板


    创建完索引生命周期策略,还需要索引模板把索引和生命周期策略关联起来。我们创建一个模板把所有 ilm_test 开头的索引与 ilm_test 生命周期策略关联,为了便于观察,指定索引没有副本分片。

    plain<br /> PUT _template/ilm_test<br /> {<br /> "order" : 100000,<br /> "index_patterns" : [<br /> "ilm_test*"<br /> ],<br /> "settings" : {<br /> "index" : {<br /> "lifecycle" : {<br /> "name" : "ilm_test"<br /> },<br /> "number_of_replicas" : "0",<br /> "routing.allocation.require.temp": "hot"<br /> }<br /> }<br /> }<br />

    创建索引


    创建一个 ilm_test 开头的索引,应用上一步创建的索引模板。

    plain<br /> POST ilm_test_1/_doc<br /> {<br /> "test":"test"<br /> }<br />

    查看索引分片分配情况。

    ![](https://infinilabs.cn/img/blog ... /4.png)

    目前索引存储在 node-1 节点,按计划 3 分钟后将会移动到 node-2 上。

    ![](https://infinilabs.cn/img/blog ... /5.png)

    ![](https://infinilabs.cn/img/blog ... /6.png)

    至此我们已通过索引生命周期策略实现了索引分片的移动,其实支持的操作还有很多,比如: rollover、close、snapshot 等,详情请参阅官方[文档](https://docs.infinilabs.com/ea ... D%259C)。

    有任何问题,欢迎加我微信沟通。

    ![](https://infinilabs.cn/img/blog ... gf.png)

    关于 Easysearch


    ![](https://infinilabs.cn/img/blog ... er.png)

    INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。

    官网文档:<https://docs.infinilabs.com/easysearch>;

招聘!搜索运维工程师(Elasticsearch/Easysearch)-全职/北京/12-20K

求职招聘INFINI Labs 小助手 发表了文章 • 0 个评论 • 6200 次浏览 • 2025-09-22 12:33 • 来自相关话题

极限科技诚招全职搜索运维工程师(Elasticsearch/Easysearch)!

欢迎搜索技术热爱者加入我们,共同打造高效、智能的搜索解决方案!

在招岗位介绍


岗位名称


搜索运维工程师(Elasticsearch/Easysearch)

Base:北京
薪资待遇:12-20K,五险一金,双休等

岗位职责


  1. 负责客户现场的 Elasticsearch/Easysearch/OpenSearch 搜索引擎集群的日常维护、监控和优化,确保集群的高可用性和性能稳定;
  2. 协助客户进行搜索引擎集群的部署、配置及版本升级;
  3. 排查和解决 Elasticsearch/Easysearch/OpenSearch 集群中的各种技术问题,及时响应并处理集群异常;
  4. 根据业务需求设计和实施搜索索引的调优、数据迁移和扩展方案;
  5. 负责与客户沟通,提供技术支持及相关培训,确保客户需求得到有效满足;
  6. 制定并实施搜索引擎的备份、恢复和安全策略,保障数据安全;
  7. 与内部研发团队和外部客户进行协作,推动集群性能改进和功能优化。

    岗位要求


  8. 全日制本科及以上学历,2 年以上运维工作经验;
  9. 拥有 Elasticsearch/Easysearch/OpenSearch 使用经验,熟悉搜索引擎的原理、架构和相关生态工具(如 Logstash、Kibana 等);
  10. 熟悉 Linux 操作系统的使用及常见性能调优方法;
  11. 熟练掌握 Shell 或 Python 等至少一种脚本语言,能够编写自动化运维脚本;
  12. 具有优秀的问题分析与解决能力,能够快速应对突发情况;
  13. 具备良好的沟通能力和团队合作精神,能够接受客户驻场工作;
  14. 提供 五险一金,享有带薪年假及法定节假日。

    加分项


  15. 计算机科学、信息技术或相关专业;
  16. 具备丰富的大规模分布式系统运维经验;
  17. 熟悉 Elasticsearch/Easysearch/OpenSearch 分片、路由、查询优化等高级功能;
  18. 拥有 Elastic Certified Engineer 认证;
  19. 具备大规模搜索引擎集群设计、扩展和调优经验;
  20. 熟悉其他搜索引擎技术(如 Solr、Lucene)者优先;
  21. 熟悉大数据处理相关技术(比如: Kafka 、Flink 等)者优先。

    简历投递


  22. 邮件:hello@infini.ltd(邮件标题请备注姓名 求职岗位)
  23. 微信:INFINI-Labs (加微请备注求职岗位)

    ![](https://infinilabs.cn/img/comp ... at.jpg)

    关于极限科技(INFINI Labs)


    ![](https://infinilabs.cn/img/blog ... bs.png)

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

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

    官网:https://infinilabs.cn

    我们在做什么


    极限科技(INFINI Labs)正在致力于以下几个核心方向:

    1、开发近实时搜索引擎 INFINI Easysearch
    INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。详情参见:https://infinilabs.cn

    2、打造下一代实时搜索引擎 INFINI Pizza
    INFINI Pizza 是一个分布式混合搜索数据库系统。我们的使命是充分利用现代硬件和人工智能的潜力,为企业提供量身定制的实时智能搜索体验。我们致力于满足具有挑战性的环境中高并发和高吞吐量的需求,同时提供无缝高效的搜索功能。详情参见:https://pizza.rs

    3、为现代团队打造的统一搜索与 AI 智能助手 Coco AI
    Coco AI 是一款完全开源的统一搜索与 AI 助手平台,它通过统一搜索入口,连接企业内外部的异构数据源,融合大模型能力,帮助团队高效访问知识,智能决策协作。详情参见:https://coco.rs

    4、积极参与全球开源生态建设
    通过开源 Coco AI、Console、Gateway、Agent、Loadgen 等搜索领域产品和社区贡献,推动全球开源技术的发展,提升中国在全球开源领域的影响力。INFINI Labs Github 主页:https://github.com/infinilabs

    5、提供专业服务
    为客户提供包括搜索技术支持、迁移服务、定制解决方案和培训在内的全方位服务。

    6、提供国产化搜索解决方案
    针对中国市场的特殊需求,提供符合国产化标准的搜索产品和解决方案,帮助客户解决使用 Elasticsearch 时遇到的挑战。

    极限科技(INFINI Labs)通过这些努力,旨在成为全球领先的实时搜索和数据分析解决方案提供商。

如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch

ElasticsearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 6479 次浏览 • 2025-09-21 14:50 • 来自相关话题

之前有[博客](https://infinilabs.cn/blog/202 ... emote/)介绍过通过 Reindex 的方法将 Elasticsearch 的数据迁移到 Easysearch 集群,今天再介绍一个方法,通过 [极限网关(INFINI Gateway)](https://docs.infinilabs.com/gateway/main/zh/) 来进行数据迁移。

测试环境


| 软件 | 版本 |
| -------------- | ------- |
| Easysearch | 1.12.0 |
| Elasticsearch | 7.17.29 |
| INFINI Gateway | 1.29.2 |

迁移步骤


  1. 选定要迁移的索引
  2. 在目标集群建立索引的 mapping 和 setting
  3. 准备 INFINI Gateway 迁移配置
  4. 运行 INFINI Gateway 进行数据迁移

    迁移实战


  5. 选定要迁移的索引

    在 Elasticsearch 集群中选择目标索引:infinilabs 和 test1,没错,我们一次可以迁移多个。

    ![](https://infinilabs.cn/img/blog ... /1.png)

  6. 在 Easysearch 集群使用源索引的 setting 和 mapping 建立目标索引。(略)
  7. INFINI Gateway 迁移配置准备

    去 github 下载[配置](https://github.com/infinilabs/ ... ay.yml),修改下面的连接集群的部分

    plain<br /> 1 env:<br /> 2 LR_GATEWAY_API_HOST: 127.0.0.1:2900<br /> 3 SRC_ELASTICSEARCH_ENDPOINT: <a href="http://127.0.0.1:9200" rel="nofollow" target="_blank">http://127.0.0.1:9200</a><br /> 4 DST_ELASTICSEARCH_ENDPOINT: <a href="http://127.0.0.1:9201" rel="nofollow" target="_blank">http://127.0.0.1:9201</a><br /> 5 path.data: data<br /> 6 path.logs: log<br /> 7 progress_bar.enabled: true<br /> 8 configs.auto_reload: true<br /> 9<br /> 10 api:<br /> 11 enabled: true<br /> 12 network:<br /> 13 binding: $[[env.LR_GATEWAY_API_HOST]]<br /> 14<br /> 15 elasticsearch:<br /> 16 - name: source<br /> 17 enabled: true<br /> 18 endpoint: $[[env.SRC_ELASTICSEARCH_ENDPOINT]]<br /> 19 basic_auth:<br /> 20 username: elastic<br /> 21 password: goodgoodstudy<br /> 22<br /> 23 - name: target<br /> 24 enabled: true<br /> 25 endpoint: $[[env.DST_ELASTICSEARCH_ENDPOINT]]<br /> 26 basic_auth:<br /> 27 username: admin<br /> 28 password: 14da41c79ad2d744b90c<br />

    pipeline 部分修改要迁移的索引名称,我们迁移 infinilabs 和 test1 两个索引。

    plain<br /> 31 pipeline:<br /> 32 - name: source_scroll<br /> 33 auto_start: true<br /> 34 keep_running: false<br /> 35 processor:<br /> 36 - es_scroll:<br /> 37 slice_size: 1<br /> 38 batch_size: 5000<br /> 39 indices: "infinilabs,test1"<br /> 40 elasticsearch: source<br /> 41 output_queue: source_index_dump<br /> 42 partition_size: 1<br /> 43 scroll_time: "5m"<br />

  8. 迁移数据

    ```plain
    ./gateway-mac-arm64

    如果你保存的配置文件名称不叫 gateway.yml,则需要加参数 -config 文件名

    ```

    ![](https://infinilabs.cn/img/blog ... /2.png)

    数据导入完成后,网关 ctrl+c 退出。

    ![](https://infinilabs.cn/img/blog ... /3.png)

    至此,数据迁移就完成了。下一篇我们来介绍 INFINI Gateway 的数据比对功能。

    有任何问题,欢迎加我微信沟通。

    ![](https://infinilabs.cn/img/blog ... gf.png)

    关于极限网关(INFINI Gateway)


    ![](https://infinilabs.cn/img/blog ... 2x.png)

    INFINI Gateway 是一个开源的面向搜索场景的高性能数据网关,所有请求都经过网关处理后再转发到后端的搜索业务集群。基于 INFINI Gateway,可以实现索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

    官网文档:<https://docs.infinilabs.com/gateway>;
    开源地址:<https://github.com/infinilabs/gateway>;

搜索百科(4):OpenSearch — 开源搜索的新选择

OpenSearchliaosy 发表了文章 • 0 个评论 • 6497 次浏览 • 2025-09-21 14:31 • 来自相关话题

大家好,我是 INFINI Labs 的石阳。

欢迎关注 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。

上一篇我们围观了 [“流量明星” Elasticsearch](https://infinilabs.cn/blog/202 ... earch/) — 从食谱搜索到 PB 级明星产品,从 Apache 2.0 到 SSPL 协议风波;今天我们来聊聊它的“分叉兄弟” OpenSearch

![](https://infinilabs.cn/img/blog ... /1.jpg)

引言


2021 年,当 Elasticsearch 宣布将其许可证从 Apache 2.0 变更为 SSPL/Elastic License 时,整个搜索社区为之震动。这一变更直接催生了一个新的开源分支 — OpenSearch。这个由 AWS 主导的项目不仅在短短几年内迅速发展成熟,更成为了许多企业在云原生环境下搜索解决方案的新选择。

OpenSearch 概述


OpenSearch 是从 Elasticsearch 7.10.2 分支而来的开源搜索与分析套件,由 AWS 主导开发并贡献给开源社区。OpenSearch 包括 OpenSearch(搜索引擎)和 OpenSearch Dashboards(可视化界面),完全兼容 Apache 2.0 协议,旨在为用户提供一个真正开源、社区驱动的搜索与分析解决方案。

  • 首次发布:2021 年 4 月
  • 最新版本:3.2.0(截止 2025 年 9 月)
  • 开源协议:Apache License 2.0
  • 主导企业:Amazon Web Services (AWS)
  • 官方网址:[https://opensearch.org/](https://opensearch.org/)
  • GitHub 仓库:[https://github.com/opensearch-project](https://github.com/opensearch-project)

    诞生故事:开源协议争议的产物


    时间回到 2021 年 1 月,Elastic 公司宣布 Elasticsearch 从 7.11 版本起不再使用 Apache 2.0 协议,而改为 Elastic License 与 SSPL。这一决定立刻在社区和产业界引发巨大争议。

    ![](https://infinilabs.cn/img/blog ... /4.jpg)

    AWS(亚马逊云)作为 Elasticsearch 的重要用户与云服务提供商,不愿意被 Elastic 的商业条款所限制,随即牵头将 Elasticsearch 7.10 版本 fork 出来,并与 Kibana 一起重命名为 OpenSearch 与 OpenSearch Dashboards。

    从此,开源世界分裂成了两条路线:

    1. Elastic 官方的 Elasticsearch + Kibana(带有商业许可)。
    2. 社区驱动的 OpenSearch + OpenSearch Dashboards(继续遵循 Apache 2.0 协议)。

      这个分叉,既是开源协议之争的产物,也是云厂商与开源公司之间博弈的缩影。虽然初期被质疑过“是否真开源”,但经过数年的迭代,OpenSearch 已形成了相对独立的开发节奏和用户群体,插件和生态也逐渐丰富。

      技术架构与特性


      ![](https://infinilabs.cn/img/blog ... /2.png)

      OpenSearch 是一个基于 Apache Lucene 的分布式搜索与分析引擎。在将数据添加到 OpenSearch 后,可以对其执行各种功能完备的全文搜索操作:按字段搜索、跨多个索引搜索、提升字段权重、按得分排序结果、按字段排序结果以及对结果进行聚合。

      ![](https://infinilabs.cn/img/blog ... /3.png)

      OpenSearch 的核心架构由集群、节点、索引、分片和文档组成。最高层是 OpenSearch 集群,它是由多个节点组成的分布式网络,每个节点会根据其类型负责不同的集群操作。数据节点负责存储索引(即文档的逻辑分组),并处理数据写入、搜索和聚合等任务。

      每个索引会被划分为多个分片,分片包含主数据和副本数据。分片会分布在多台机器上,从而实现水平扩展,提升性能并高效利用存储资源。

      OpenSearch vs Elasticsearch:详细对比


      | 特性 | OpenSearch | Elasticsearch |
      | --------------- | ---------------------------------- | ---------------------------- |
      | 许可证 | Apache 2.0(完全开源) | SSPL/Elastic License/AGPLv3 |
      | 起始版本 | 基于 Elasticsearch 7.10.2 | 从 7.11 开始协议变更 |
      | 社区治理 | 开放治理模式,由社区驱动 | 由 Elastic NV 公司主导 |
      | 安全性 | 所有安全功能默认开源 | 部分高级安全功能需要付费 |
      | AI/向量检索 | 近年快速跟进,兼容性较好 | 原生支持,功能逐步增强 |
      | 部署选择 | AWS OpenSearch Service / 自建 | Elastic Cloud / 自建 |
      | 升级路径 | 从 Elasticsearch 7.x 平滑迁移 | 原生升级路径 |
      | 社区活跃度 | 社区逐渐壮大,受到纯开源拥护者欢迎 | 用户基础庞大,但分裂带来争议 |

      快速开始:5 分钟部署 OpenSearch


      1. 使用 Docker 部署


      ```bash

      拉取 OpenSearch 镜像

      docker pull opensearchproject/opensearch:3.2.0

      启动 OpenSearch 节点

      docker run -d --name opensearch-node \
      -p 9200:9200 -p 9600:9600 \
      -e "discovery.type=single-node" \
      -e "plugins.security.disabled=true" \
      opensearchproject/opensearch:3.2.0

      拉取 OpenSearch Dashboards

      docker pull opensearchproject/opensearch-dashboards:3.2.0

      启动 Dashboards

      docker run -d --name opensearch-dashboards \
      -p 5601:5601 \
      -e "OPENSEARCH_HOSTS=http://opensearch-node:9200" \
      opensearchproject/opensearch-dashboards:3.2.0
      ```

      2. 验证安装


      ```bash

      检查集群状态

      curl -X GET "<a href="http://localhost:9200/"" rel="nofollow" target="_blank">http://localhost:9200/"
      ```

      出现如下结果说明安装成功。
      ![](https://infinilabs.cn/img/blog ... /5.png)

      3. 创建索引和搜索


      ```bash

      索引文档

      curl -X POST "<a href="http://localhost:9200/my-first-index/_doc"" rel="nofollow" target="_blank">http://localhost:9200/my-first-index/_doc" -H 'Content-Type: application/json' -d'
      {
      "title": "OpenSearch 入门指南",
      "content": "这是我在 OpenSearch 中的第一个文档",
      "timestamp": "2025-09-18T10:00:00"
      }'

      执行搜索

      curl -X GET "<a href="http://localhost:9200/my-first-index/_search"" rel="nofollow" target="_blank">http://localhost:9200/my-first-index/_search" -H 'Content-Type: application/json' -d'
      {
      "query": {
      "match": {
      "content": "第一个文档"
      }
      }
      }'
      ```

      4. 访问控制台


      打开浏览器访问 http://localhost:5601 即可使用 OpenSearch Dashboards 界面。

      ![](https://infinilabs.cn/img/blog ... ds.png)

      结语


      OpenSearch 的出现,是开源社区的一次“自救”。它不仅延续了 Elasticsearch 的核心功能,还代表了另一种治理模式:由云厂商和社区共同维护,保证了开源协议的延续。

      在搜索技术的版图里,Elasticsearch 与 OpenSearch 的分叉,注定会成为一个重要的历史节点。未来,两者可能会继续竞争,也可能各自发展出独特的生态。

      🚀 下期预告

      下一篇我们将介绍 OpenSearch 的另一个兄弟 [Easysearch](https://infinilabs.cn/products/easysearch/),一个衍生自开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本的轻量级搜索引擎,作为一个 ES 国产替代方案,看看它如何以其极致的速度和易用性在国内搜索领域占据一席之地。

      💬 三连互动

    3. 您是否考虑过从 Elasticsearch 迁移到 OpenSearch?
    4. 在开源协议方面,您更倾向于哪种模式?Apache 2.0 还是 Elastic 的多重许可?
    5. 对于云厂商与开源项目之间的关系,您有什么看法?

      对搜索技术感兴趣的朋友,也欢迎加我微信(ID:lsy965145175)备注“搜索百科”,拉你进  搜索技术交流群,一起探讨与学习!

      推荐阅读

  • [搜索百科(3):Elasticsearch — 搜索界的"流量明星"](https://infinilabs.cn/blog/202 ... earch/)
  • [搜索百科(2):Apache Solr — 企业级搜索的开源先锋](https://infinilabs.cn/blog/2025/search-wiki-2-solr/)
  • [搜索百科(1):Lucene — 打开现代搜索世界的第一扇门](https://infinilabs.cn/blog/202 ... ucene/)

    🔗 参考资源

  • [OpenSearch 官方文档](https://opensearch.org/docs/latest/)
  • [OpenSearch 与 Elasticsearch 功能对比](https://www.netdata.cloud/acad ... earch/)

    原文:https://infinilabs.cn/blog/202 ... arch/

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

社区日报Fred2000 发表了文章 • 0 个评论 • 6919 次浏览 • 2025-09-19 10:29 • 来自相关话题

1、技术对话:AI 搜索如何变革信息获取方式?
https://mp.weixin.qq.com/s/suapJUsZHRjyUB4YP839aA

2、DeepSeek 论文登上 Nature 封面,AI 大模型首次通过同行评审
https://www.oschina.net/news/372895

3、Elasticsearch — 搜索界的 “流量明星” | 搜索百科(3)
https://my.oschina.net/infinilabs/blog/18692163

4、Apache Solr — 企业级搜索的开源先锋 | 搜索百科(2)
https://my.oschina.net/infinilabs/blog/18691887

5、Easysearch 国产替代 Elasticsearch:8 大核心问题解读
https://mp.weixin.qq.com/s/Tt1yQjMZX2ctqsLpC2qqUQ

编辑:Fred
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2117期 (2025-09-18)

社区日报Se7en 发表了文章 • 0 个评论 • 7192 次浏览 • 2025-09-18 20:55 • 来自相关话题

1.夜天之书 #115 原地起飞:基于 Rust 在四个月内开发出服务全球的云数据库
https://mp.weixin.qq.com/s/ccOO0cbEaRUBCa2AXI5H3Q
2.构建一个基于事件驱动代理和 Knative 的韧性 AI 分诊系统
https://mp.weixin.qq.com/s/SVZqs9iK7RvKbvbFHxY-fA
3.新鲜出炉 vLLM Office Hours #32 的核心内容
https://mp.weixin.qq.com/s/JWZFtYA3mNwszdxzbna3yg
4.大会日程公布!PyCon China 2025
https://mp.weixin.qq.com/s/tOFRr5a6IWChhjSdNy3Huw

编辑:Se7en
更多资讯:http://news.searchkit.cn

Easysearch 国产替代 Elasticsearch:8 大核心问题解读

Easysearchliaosy 发表了文章 • 0 个评论 • 7428 次浏览 • 2025-09-18 09:43 • 来自相关话题

近年来,随着数据安全与自主可控需求的不断提升,越来越多的企业开始关注国产化的搜索与日志分析解决方案。作为极限科技推出的国产 Elasticsearch 替代产品,Easysearch 凭借其对搜索场景的深入优化、轻量级架构设计以及对 ES 生态的高度兼容,成为众多企业替代 Elasticsearch 的新选择。

![](https://infinilabs.cn/img/blog ... er.png)

我们在近期与用户的交流中,整理出了大家最关心的八大问题,并将它们浓缩为一篇技术解读,希望帮助你快速了解 Easysearch 的优势与定位。

用户最关心的八大问题


  1. Easysearch 对数据量的支撑能力如何,能应对 PB 级数据存储吗?

    答:完全可以。Easysearch 支持水平扩展,通过增加节点即可线性提升存储与计算能力。在实际应用中,已成功支撑 PB 级日志与检索数据。同时,其存储压缩率相比 Elasticsearch 7.10.2 平均高出 2.5~3 倍,显著节省硬件成本。

  2. 在高并发写入场景下,Easysearch 和 ES 的性能差异有多大?

    答:在相同硬件配置下,使用 Nginx 日志进行 bulk 写入压测,Easysearch 在多种分片配置下的写入性能相比 Elasticsearch 7.10.2 提升 40%-70%,更适合高并发写入场景。

  3. 是否支持中文分词?需要额外插件吗?

    答:中文分词一直是 Elasticsearch 用户的「必装插件」。而在 Easysearch 中,中文分词是开箱即用的,同时支持 ik、pinyin 等主流分词器,还能自定义词典,方便电商、内容平台等场景。

  4. 从 ES 迁移到 Easysearch 是否复杂?会影响业务吗?

    答:迁移往往是国产替代的最大顾虑。为此,Easysearch 提供了 极限网关 工具,支持全量同步和实时增量同步。迁移过程中业务可继续读写,只需短暂切换连接地址,几乎无感知。

  5. 监控与运维工具是否完善?是否支持 Kibana?

    答:Easysearch 提供完整的监控与运维体系。从 Easysearch 1.15.x 版本起自带 Web UI 管理控制台(类似简化版 Kibana),支持索引管理、查询调试、权限控制等功能。同时还提供 INFINI Console 实现多集群管理与深度监控等。也可以通过配置让 Kibana 连接 Easysearch(部分高级功能可能受限)。

  6. 小型团队技术能力有限,用 Easysearch 运维难度高吗?

    答:Easysearch 的一大设计理念就是降低运维门槛。Easysearch 提供一键部署脚本,减少手动配置参数,支持自动分片均衡与故障节点恢复,无需专职运维人员也能稳定运行,非常适合技术资源有限的团队。

  7. Easysearch 是否支持数据备份与恢复?操作复杂吗?

    答:支持快照(Snapshot),可备份到本地磁盘或对象存储(S3、OSS 等)。恢复时仅需执行快照恢复命令,满足企业级数据安全需求。

  8. 对比 ES,Easysearch 在使用体验上最大的不同是什么?

    答:Easysearch 保持与 Elasticsearch 类似的接口与查询 DSL,用户几乎无学习成本即可上手。同时,它针对国产化环境和搜索场景做了优化,运维更轻量,成本更可控。

    结语:Easysearch,国产化搜索的新选择


    作为一款国产自主可控的搜索与日志分析引擎,Easysearch 不仅继承了 Elasticsearch 的核心能力,更在性能、易用性、资源效率和中文支持等方面进行了深度优化。对于希望实现国产化替代、降低运维成本、提升系统性能的企业来说,Easysearch 是一个值得认真考虑的新选择。

    ![](https://infinilabs.cn/img/blog ... er.png)

    如果你正在评估 Elasticsearch 的替代方案,不妨从 Easysearch 开始,体验更轻量、更高效的搜索新架构。

    如需了解更多技术细节与使用案例,欢迎访问官方文档与社区资源:

  9. [Easysearch 官网文档](https://docs.infinilabs.com/easysearch)
  10. [Elasticsearch VS Easysearch 性能测试](https://infinilabs.cn/blog/202 ... sting/)
  11. [使用 Easysearch,日志存储少一半](https://infinilabs.cn/blog/202 ... ssion/)
  12. [Kibana OSS 7.10.2 连接 Easysearch](https://infinilabs.cn/blog/202 ... earch/)
  13. [自建 ES 集群通过极限网关无缝迁移到云上](https://infini-share.yuque.com ... 3DSPaV)
  14. [INFINI Console 一站式的数据搜索分析与管理平台](https://docs.infinilabs.com/console/main/zh/)

    ![](https://infinilabs.cn/img/blog ... on.png)

搜索百科(3):Elasticsearch — 搜索界的“流量明星”

Elasticsearchliaosy 发表了文章 • 0 个评论 • 6046 次浏览 • 2025-09-16 11:20 • 来自相关话题

大家好,我是 INFINI Labs 的石阳。

欢迎关注 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。

前两篇我们探讨了[搜索技术的基石 Apache Lucene](https://infinilabs.cn/blog/202 ... ucene/) 和[企业级搜索解决方案 Apache Solr](https://infinilabs.cn/blog/2025/search-wiki-2-solr/)。今天,我们来聊聊一个真正改变搜索游戏规则,但也充满争议的产品 — Elasticsearch

![](https://infinilabs.cn/img/blog ... ch.png)

引言


如果说 Lucene 是幕后英雄,那么 Elasticsearch 就是舞台中央的明星。借助 REST API、分布式架构、强大的生态系统,它让搜索 + 分析成为“马上可用”的服务形式。

在日志平台、可观察性、安全监控、AI 与语义检索等领域,Elasticsearch 的名字几乎成了默认选项。

Elasticsearch 概述


Elasticsearch 是一个开源的分布式搜索和分析引擎,构建于 Apache Lucene 之上。作为一个检索平台,它可以实时存储结构化、非结构化和向量数据,提供快速的混合和向量搜索,支持可观测性与安全分析,并以高性能、高准确性和高相关性实现 AI 驱动的应用。

  • 首次发布:2010 年 2 月
  • 最新版本:9.1.3(截止 2025 年 9 月)
  • 核心依赖:Apache Lucene
  • 开源协议:AGPL v3
  • 官方网址:[https://www.elastic.co/elasticsearch/](https://www.elastic.co/elasticsearch/)
  • GitHub 仓库:[https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)

    起源:从食谱搜索到全球“流量明星”


    Elasticsearch 的故事始于以色列开发者 Shay Banon。2010 年,当时他在学习厨师课程的妻子需要一款能够快速搜索食谱的工具。虽然当时已经有 Solr 这样的搜索解决方案,但 Shay 认为它们对于分布式场景的支持不够完善。

    ![](https://infinilabs.cn/img/blog ... /4.png)

    基于之前开发 Compass(一个基于 Lucene 的搜索库)的经验,Shay 开始构建一个完全分布式的、基于 JSON 的搜索引擎。2010 年 2 月,Elasticsearch 的第一个版本发布。

    随着用户日益增多、企业级需求增强,Shay 在 2012 年创立了 Elastic 公司,把 Elasticsearch 不仅作为开源项目,也逐渐商业化运营起来,包括提供托管服务、企业支持,加入 Logstash 日志处理、Kibana 可视化工具等,Elastic 公司也逐渐从一个纯搜索引擎项目演变为一个更广泛的“数据搜索与分析”平台。

    协议变更:开源和商业化的博弈


    Elasticsearch 的发展并非一帆风顺。其历史上最具转折性的事件当属与 AWS 的冲突及随之而来的开源协议变更

    ![](https://infinilabs.cn/img/blog ... /5.jpg)

    1. 早期:Apache 2.0 协议

      2010 年 Shay Banon 开源 Elasticsearch 时,最初采用的是 Apache 2.0 协议。Apache 2.0 属于宽松的自由协议,允许任何人免费使用、修改和商用(包括 SaaS 模式)。这帮助 Elasticsearch 快速壮大,成为事实上的“搜索引擎标准”。

    2. 协议变更:应对云厂商“白嫖”

      随着 Elasticsearch 的流行,像 AWS(Amazon Web Services) 等云厂商直接将 Elasticsearch 做成托管服务,并从中获利。Elastic 公司认为这损害了他们的商业利益,因为云厂商“用开源赚钱,却没有回馈社区”。2021 年 1 月,Elastic 宣布 Elasticsearch 和 Kibana 不再采用 Apache 2.0,改为 双重协议:SSPL + Elastic License。这一步导致社区巨大分裂,AWS 带头将 Elasticsearch 分叉为 OpenSearch,并继续以 Apache 2.0 协议维护。

    3. 再次转向开源:AGPL v3

      2024 年 3 月,Elastic 宣布新的版本(Elasticsearch 8.13 起)又新增 AGPL v3 作为一个开源许可选项。AGPL v3 既符合 OSI 真正开源标准,又能约束云厂商闭源托管服务,同时修复社区关系,Elastic 希望通过重新拥抱开源,减少分裂,吸引开发者回归。

      Elasticsearch 从宽松到收紧,再到回归开源,是在社区生态与商业利益间寻找平衡的过程。

      基本概念


      要学习 Elasticsearch,得先了解其五大基本概览:集群、节点、分片、索引和文档。

    4. 集群(Cluster)

      由一个或多个节点组成的整体,提供统一的搜索与存储服务。对外看起来像一个单一系统。

    5. 节点(Node)

      集群中的一台服务器实例。节点有不同角色:

  • Master 节点:负责集群管理(分片分配、元数据维护)。
  • Data 节点:存储数据、处理搜索和聚合。
  • Coordinating 节点:接收请求并调度任务。
  • Ingest 节点:负责数据写入前的预处理。

    1. 索引(Index)

      类似于传统数据库的“库”,按逻辑组织数据。一个索引往往对应一个业务场景(如日志、商品信息)。

    2. 分片(Shard)

      为了让索引能水平扩展,Elasticsearch 会把索引拆分为多个 主分片,并为每个主分片创建 副本分片,提升高可用和查询性能。

    3. 文档(Document)

      Elasticsearch 存储和检索的最小数据单元,通常是 JSON 格式。多个文档组成一个索引。

      集群架构


      ![](https://infinilabs.cn/img/blog ... re.png)

      Elasticsearch 通过 Master、Data、Coordinating、Ingest 等不同角色节点的协作,将数据切分成分片并分布式存储,实现了高可用、可扩展的搜索与分析引擎架构。

      快速开始:5 分钟体验 Elasticsearch


      1. 使用 Docker 启动


      ```bash

      拉取最新镜像

      docker pull docker.elastic.co/elasticsearch/elasticsearch:9.1.3

      启动单节点集群

      docker run -d --name elasticsearch \
      -p 9200:9200 -p 9300:9300 \
      -e "discovery.type=single-node" \
      -e "xpack.security.enabled=false" \
      docker.elastic.co/elasticsearch/elasticsearch:9.1.3
      ```

      2. 验证安装


      ```bash

      检查集群状态

      curl -X GET "<a href="http://localhost:9200/"" rel="nofollow" target="_blank">http://localhost:9200/"
      ```

      ![](https://infinilabs.cn/img/blog ... /1.png)

      3. 索引文档


      ```bash

      索引文档

      curl -X POST "<a href="http://localhost:9200/myindex/_doc"" rel="nofollow" target="_blank">http://localhost:9200/myindex/_doc" -H 'Content-Type: application/json' -d'
      {
      "title": "Hello Elasticsearch",
      "description": "An example document"
      }'
      ```

      ![](https://infinilabs.cn/img/blog ... /2.png)

      3. 搜索文档


      ```bash

      搜索文档

      curl -X GET "<a href="http://localhost:9200/myindex/_search"" rel="nofollow" target="_blank">http://localhost:9200/myindex/_search" -H 'Content-Type: application/json' -d'
      {
      "query": {
      "match": {
      "title": "Hello"
      }
      }
      }'
      ```

      ![](https://infinilabs.cn/img/blog ... /3.png)

      结语


      Elasticsearch 是搜索与分析领域标杆性的产品。它将 Lucene 的能力包装起来,加上分布式、易用以及与数据可视化、安全监控等功能的整合,使搜索引擎从专业技术逐渐变为“随手可用”的基础设施。

      虽然协议变动、与 OpenSearch 的分叉引发争议,但它在企业与开发者群体中的实际应用价值依然难以替代。

      ---

      🚀 下期预告

      下一篇我们将介绍 OpenSearch,探讨这个 Elasticsearch 分支项目的发展现状、技术特点以及与 Elasticsearch 的详细对比。如果您有特别关注的问题,欢迎提前提出!

      💬 三连互动

    4. 你或公司最近在用 Elasticsearch 吗?拿来做了什么场景?
    5. 在 Elasticsearch 和 OpenSearch 之间做过技术选型?
    6. 对 Elasticsearch 的许可证变化有什么看法?

      对搜索技术感兴趣的朋友,也欢迎加我微信(ID:lsy965145175)备注“搜索百科”,拉你进  搜索技术交流群,一起探讨与学习!

      ✨ 推荐阅读

  • [搜索百科(2):Apache Solr — 企业级搜索的开源先锋](https://infinilabs.cn/blog/2025/search-wiki-2-solr/)
  • [搜索百科(1):Lucene — 打开现代搜索世界的第一扇门](https://infinilabs.cn/blog/202 ... ucene/)

    🔗 参考

  • [Elasticsearch 官方文档](https://www.elastic.co/docs/solutions/search)
  • [Elasticsearch 协议变更声明](https://www.elastic.co/cn/blog ... -again)
  • [Elasticsearch Architecture V: Node Roles](https://braineanear.medium.com ... 04257e)

    原文:https://infinilabs.cn/blog/202 ... arch/

【搜索客社区日报】第2116期 (2025-09-16)

社区日报God_lockin 发表了文章 • 0 个评论 • 4909 次浏览 • 2025-09-16 08:32 • 来自相关话题

1. 你打我噻!信息安全团队,我们这样做(需要梯子)
https://medium.com/%40chaoskis ... 3fc93
2. Debian里的全家桶一把梭,服务器初始化不就会了吗(需要梯子)
https://medium.com/%40yossifhe ... b9cdf
3. 向量搜索怎么搞?教你个简单的玩法(需要梯子)
https://surenk.medium.com/vect ... 3a8b0
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 

搜索百科(2):Apache Solr — 企业级搜索的开源先锋

开源项目liaosy 发表了文章 • 0 个评论 • 5163 次浏览 • 2025-09-15 18:12 • 来自相关话题

大家好,我是 INFINI Labs 的石阳。

欢迎回到 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。

上一篇我们认识了[搜索技术的基石 Apache Lucene](https://infinilabs.cn/blog/202 ... ucene/),今天我们将继续这个旅程,了解基于 Lucene 构建的第一个成功商业级搜索平台 —— Apache Solr

![](https://infinilabs.cn/img/blog ... /1.jpg)

Solr 是什么?


Solr 是一款极速的开源多模态搜索平台,基于 Apache Lucene 的全文、向量和地理空间搜索能力构建而成。Solr 具备高可靠性、可扩展性和容错性,支持分布式索引、复制与负载均衡查询,提供自动故障转移与恢复、集中化配置等功能。如今,Solr 为全球众多大型互联网网站提供搜索和导航功能。

  • 首次发布:2004 年,2006 年进入 Apache
  • 最新版本:截至 2025 年,已更新至 9.x 系列
  • 核心依赖:Apache Lucene
  • 开源协议:Apache License 2.0
  • 官方网址:[https://solr.apache.org](https://solr.apache.org)
  • GitHub 仓库:[https://github.com/apache/solr](https://github.com/apache/solr)

    它的定位是:把 Lucene 打造成独立的企业级搜索服务。相比 Lucene 需要写代码调用,Solr 提供了 Web 管理界面、REST API 和配置文件,让开发者更容易上手。

    起源:从网站搜索到 Apache 顶级项目


    Solr(读作"solar")的故事始于 2004 年,当时 CNET 公司的开发人员 Yonik Seeley 需要为其新闻网站构建一个搜索功能。虽然 Lucene 提供了强大的核心搜索能力,但直接使用 Lucene 需要编写大量 Java 代码,缺乏开箱即用的功能。

    Seeley 决定在 Lucene 之上构建一个更易用的搜索服务器,于是 Solr 诞生了。最初的目标很明确:通过 HTTP/XML 接口提供搜索服务,让任何编程语言都能轻松集成搜索功能。

    2006 年,Solr 捐赠给 Apache 基金会,2007 年成为顶级项目。2010 年,Solr 与 Lucene 项目合并,形成了今天我们所知的 Apache Lucene/Solr 项目。

    技术架构


    ![](https://infinilabs.cn/img/blog ... re.jpg)

    Index(索引)

    Apache Solr 的索引就像是用于管理结构化 / 非结构化数据的“数据库”。它以便于分析和全文检索的方式存储数据。

    Query Parser(查询解析器)

    所有由客户端提交的查询都会由查询解析器处理。

    Response Handler(响应处理器)

    响应处理器负责为客户端生成合适格式的响应(如 JSON/XML/CSV)。

    Update Handler(更新处理器)

    更新处理器用于索引操作,即对索引中的数据进行插入、更新和删除。例如,如果我们希望 MySQL 数据与 Apache Solr 保持同步,就需要创建一个负责同步的更新处理器。

    功能亮点


  • 全文检索:高效支持关键词搜索、布尔查询、短语匹配等。
  • 分面搜索(Faceted Search):可以对搜索结果进行分类和聚合统计。
  • 分布式架构(SolrCloud):支持集群部署、自动分片、副本和容错。
  • 丰富的数据接口:提供 RESTful API,支持 JSON、XML、CSV 等多种格式的数据交互。
  • 扩展性与可定制性:通过插件机制支持多语言分词、排序、评分模型等个性化定制。
  • 地理位置搜索:内置空间搜索能力,支持基于经纬度的范围查询和排序。

    对比: Solr vs Elasticsearch 如何选择?


    虽然两者都基于 Lucene,但在设计哲学上有所不同:

    | 特性 | Apache Solr | Elasticsearch |
    | ------------ | ----------------------- | -------------------- |
    | 定位 | 企业级搜索服务器 | 分布式搜索和分析引擎 |
    | API | 更标准化,遵循传统 REST | 更灵活,JSON 原生 |
    | 分布式 | 需要 ZooKeeper 协调 | 内置分布式协调 |
    | 上手难度 | 相对简单,开箱即用 | 学习曲线较陡峭 |
    | 生态系统 | 搜索功能更丰富 | 分析和可视化更强 |
    | 适用场景 | 传统企业搜索、电商 | 日志分析、实时监控 |

    简单来说:Solr 更像"精装房",开箱即用;Elasticsearch 更像"毛坯房",需要更多自定义但更灵活。

    快速开始:5 分钟搭建 Solr 服务


    1. 下载和安装


    ```bash

    下载 8.x 版 Solr

    wget https://dlcdn.apache.org/solr/ ... 4.tgz

    解压

    tar -xzf solr-8.11.4.tgz

    启动 Solr(单机模式)

    cd solr-8.11.4
    bin/solr start
    ```

    2. 创建 Core


    ```bash

    创建测试 Core

    bin/solr create -c test_core

    查看 Core 状态

    bin/solr status
    ```

    3. 索引文档


    ```bash

    使用 curl 索引 JSON 文档

    curl http://localhost:8983/solr/test_core/update -d '
    [
    {"id": "1", "title": "Solr 入门指南", "content": "Apache Solr 是企业级搜索平台"},
    {"id": "2", "title": "搜索技术演进", "content": "从 Lucene 到 Solr 的技术发展"}
    ]' -H 'Content-type:application/json'

    提交更改

    curl http://localhost:8983/solr/test_core/update -d '' -H 'Content-type:application/xml'
    ```

    4. 执行搜索


    ```bash

    搜索"Solr"

    curl "<a href="http://localhost:8983/solr/test_core/select?q=content:Solr"" rel="nofollow" target="_blank">http://localhost:8983/solr/tes ... ot%3B

    使用 JSON 格式返回

    curl "<a href="http://localhost:8983/solr/test_core/select?q=content:Solr&wt=json"" rel="nofollow" target="_blank">http://localhost:8983/solr/tes ... ot%3B
    ```

    执行搜索返回结果:

    ![](https://infinilabs.cn/img/blog ... /2.png)

    访问 http://localhost:8983/solr 即可使用 Solr 的管理界面。

    Dashboard:
    ![](https://infinilabs.cn/img/blog ... /3.png)

    Core Admin:
    ![](https://infinilabs.cn/img/blog ... /4.png)

    结语


    从最初的公司内部工具,到成为全球范围内广泛使用的开源搜索引擎,Apache Solr 见证并推动了搜索技术的进化。尽管近年来 Elasticsearch、向量数据库和 AI 驱动的搜索技术逐渐崛起,但 Solr 依然是许多企业可靠且成熟的选择。它的故事不仅属于开源社区,也代表了搜索技术发展的一个重要阶段。

    ---

    🚀 下期预告
    在下一篇「搜索百科」中,我们将介绍它的明星兄弟 —— Elasticsearch

    💬 三连互动

    1. 你现在还在用 Solr 吗?
    2. 在 Solr 和 Elasticsearch 之间做过技术选型?
    3. 遇到过有趣的 Solr 使用案例或挑战?

      对搜索技术感兴趣的朋友,也欢迎加我微信(ID:lsy965145175)备注“搜索百科”,拉你进  搜索技术交流群,一起探讨与学习!

      ✨ 推荐阅读

  • [搜索百科(1):Lucene — 打开现代搜索世界的第一扇门](https://infinilabs.cn/blog/202 ... ucene/)

    🔗 参考

  • [Apache Solr 官方文档](https://solr.apache.org/guide)
  • [Apache Solr Fundamentals](https://medium.com/%40mansha99 ... 962cc8)

    原文:https://infinilabs.cn/blog/202 ... solr/

【搜索客社区日报】第2115期 (2025-09-15)

社区日报Muses 发表了文章 • 0 个评论 • 4863 次浏览 • 2025-09-15 10:49 • 来自相关话题

1、AI流程编排产品调研&实践
https://developer.damo-academy ... 25861

2、带地图的 RAG:多模态 + 地理空间 在 Elasticsearch 中
https://elasticstack.blog.csdn ... 52848

3、使用 LangExtract 和 Elasticsearch
https://elasticstack.blog.csdn ... 07715

4、使用 OpenTelemetry 从你的日志中获取更多信息
https://elasticstack.blog.csdn ... 46828

5、Elasticsearch 索引字段删除,除了 Reindex 重建索引还有没有别的解决方案?
https://mp.weixin.qq.com/s/IJxEQc59t4kn6ex_YGmYAQ

编辑:Muse
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2114期 (2025-09-12)

社区日报Fred2000 发表了文章 • 0 个评论 • 5787 次浏览 • 2025-09-12 11:55 • 来自相关话题

1、搜索百科(1):Lucene —— 打开现代搜索世界的第一扇门
https://elasticsearch.cn/article/15557

2、AI写代码,第一稿95%都没用?一名工程师的Claude Code六周实录
https://blog.csdn.net/csdnnews ... 33438

3、如何使用极限网关实现 Easysearch 数据迁移?
https://blog.csdn.net/yangmf20 ... 55265

4、你有没有想过不额外安装 Kibana,就能实现集群核心指标数据的可视化?
https://mp.weixin.qq.com/s/YQIJG8auOxslINg90MBafA

5、在 Coco AI 中接入 WordPress RSS,实现文章秒级搜索
https://blog.csdn.net/weixin_3 ... 03720

编辑:Fred
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2113期 (2025-09-11)

社区日报Se7en 发表了文章 • 0 个评论 • 5043 次浏览 • 2025-09-11 21:57 • 来自相关话题

1.MCP 社区推出 MCP Registry
https://blog.modelcontextproto ... view/
2.大模型推理革命:从 GPT-5 到 vLLM Semantic Router
https://mp.weixin.qq.com/s/F6pGYNhLVxyW4It9-QtklQ
3.OpenAI Codex 零基础入门指南
https://mp.weixin.qq.com/s/HHceGuE46llL-ZS9T0hiXA
4.使用 NVIDIA Dynamo 部署 PD 分离推理服务
https://mp.weixin.qq.com/s/6_oRs7p6wwL1HqnKr8yC5Q

编辑:Se7en
更多资讯:http://news.searchkit.cn

搜索百科(1):Lucene —— 打开现代搜索世界的第一扇门

Luceneliaosy 发表了文章 • 0 个评论 • 4593 次浏览 • 2025-09-10 14:52 • 来自相关话题

大家好,我是 INFINI Labs 的石阳。

这是《搜索百科》系列文章,每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。

搜索技术看似专业,但它早已深度融入我们的日常生活。无论是电商搜索、知识检索,还是 AI 语义搜索、RAG、向量检索,背后都有经典与新兴技术的结合。希望这个系列能帮大家建立更清晰的认知,也欢迎留言交流。

引言:为什么先写 Lucene?


![](https://infinilabs.cn/img/blog ... /1.jpg)

如果你曾用 GitHub 搜代码、用电商网站搜商品,或者在日志平台里“捞”报错,你就已经享受了 Lucene 的红利——只是自己还不知道。今天,让我们认识下这位“幕后大佬”,看看它如何以一己之力,孵化了整个现代搜索江湖。没有它,就没有 Elasticsearch 的锋芒,也没有 Solr 的稳健。讲搜索,不从 Lucene 开始,就像讲武侠不提《易筋经》——根基都丢了。

诞生故事:一个程序员的“副业”成果


Lucene 的诞生颇具传奇色彩。它的创造者 Doug Cutting(后来也是 Hadoop 的创始人之一)在 1997 年开始开发 Lucene,最初是为了给他的个人项目——一个网络爬虫和搜索引擎——提供搜索能力。

![](https://infinilabs.cn/img/blog ... /2.jpg)

当时,市面上并没有成熟的开源搜索库可用,Doug 决定自己写一个。他在业余时间一点点打磨,最终在 1999 年发布了第一个版本。2001 年,Lucene 加入了 Apache 软件基金会,成为 Apache 的第一个开源搜索项目。

有趣的是,Lucene 的名字并不是来自什么技术术语,而是取自 Doug Cutting 妻子的中间名——Lucene。这也让这个项目多了一丝浪漫的色彩。

Lucene 概述


Apache Lucene,是一个用 Java 编写的高性能、全文搜索引擎库。它不是那种你下载下来就能直接用的“搜索软件”,而是一个底层库,就像乐高积木里的基础砖块,虽然不起眼,但没有它,很多搜索产品根本搭不起来。

Lucene 提供了强大的索引和查询能力,支持分词、倒排索引、相关性评分、模糊查询、布尔查询等一系列功能。它是 Elasticsearch、Solr、Easysearch、OpenSearch 等现代搜索引擎的核心引擎。

  • 首次发布:1999 年
  • 最新版本:截至 2025 年 9 月,Lucene 已更新至 10.2.x 系列
  • 开源协议:Apache License 2.0(商业友好)
  • 官网:[https://lucene.apache.org/](https://lucene.apache.org/)
  • GitHub:[https://github.com/apache/lucene](https://github.com/apache/lucene)

    社区生态


    虽然已经 25 岁"高龄",Lucene 的社区却依然活力满满。作为 Apache 软件基金会的顶级项目,它拥有:

  • 100+ 活跃贡献者
  • 每月都有新的 commit 和 issue 处理
  • 每年发布 2-4 个主要版本
  • 完善的文档和活跃的邮件列表

    虽然不像 Elasticsearch 那样“出圈”,但在开发者和企业内部系统中仍有广泛使用。

    功能亮点:为什么大家都爱它?


  • 高性能全文检索内核:倒排索引、短语/布尔/通配符/模糊查询、相关性打分。
  • 面向工程的可扩展分析链:分词器、过滤器、同义词、停用词、高亮、排序等。
  • 近邻向量检索(KNN):原生支持高维向量的最近邻搜索,为语义检索/RAG 奠基。 
  • 嵌入式 & 纯 Java:作为库嵌入任意 Java 应用,掌控细粒度行为与性能。
  • 成熟稳定的版本线:9.x 与 10.x 并行演进,兼顾稳定与新特性。

    对比优势:Lucene vs 世界


    | 产品 | 类型 | 与 Lucene 的关系 |
    | ------------- | ---------- | ---------------------------------------- |
    | Elasticsearch | 分布式引擎 | 基于 Lucene,提供分布式、RESTful 接口 |
    | Apache Solr | 搜索平台 | 基于 Lucene,提供 Web 管理界面和更多功能 |
    | Meilisearch | 轻量引擎 | 不基于 Lucene,用 Rust 编写,主打易用性 |

    Lucene 是底层引擎,而其他产品是在它之上构建的完整解决方案。如果你想要完全控制搜索逻辑,Lucene 是最佳选择;如果你想要开箱即用的搜索服务,可以考虑 Elasticsearch 或 Solr。

    快速上手:10 分钟体验 Lucene


    虽然 Lucene 需要写一些 Java 代码,但其实入门并不复杂。

    1. 环境准备


    ```java
    // Maven 依赖


    org.apache.lucene
    lucene-core
    10.xx.xx

    ```

    ### 2. 创建你的第一个索引

    ```java
    // 创建分析器(支持中文)
    Analyzer analyzer = new StandardAnalyzer();

    // 创建索引
    Directory directory = FSDirectory.open(Paths.get("index"));
    IndexWriterConfig config = new IndexWriterConfig(analyzer);
    IndexWriter writer = new IndexWriter(directory, config);

    Document doc = new Document();
    doc.add(new TextField("content", "欢迎来到 Lucene 的世界", Field.Store.YES));
    writer.addDocument(doc);
    writer.close();
    ```

    ### 3. 执行搜索

    ```java
    // 搜索 "Lucene"
    Query query = new TermQuery(new Term("content", "lucene"));
    IndexReader reader = DirectoryReader.open(directory);
    IndexSearcher searcher = new IndexSearcher(reader);
    TopDocs results = searcher.search(query, 10);

    System.out.println("找到 " + results.totalHits + " 条结果");
    ```

    几行 Java 代码,就能完成一个迷你搜索引擎。

    ## 结语

    Apache Lucene 虽然不是面向最终用户的产品,但它是**搜索技术的基石**。几乎所有现代搜索引擎都离不开它。如果你对搜索技术有兴趣,学习 Lucene 是理解搜索引擎工作原理的最佳途径。

    ---

    🚀 **下期预告**
    下一篇,我将介绍 Lucene 的第一个"孩子"—— **Apache Solr**,看看这个基于 Lucene 的企业级搜索平台如何让搜索变得更简单。

    💬 **三连互动**

    1. 你或公司最近在用 Lucene 吗?拿来做了什么场景?
    2. 你觉得 Lucene 最香 / 最坑的点是什么?
    3. 下一期想先看 **Solr** 还是 **Elasticsearch** ?留言告诉我,我来插队!

    对搜索技术感兴趣的朋友,也欢迎加我微信(ID:lsy965145175)备注“搜索百科”,拉你进  **搜索技术交流群**,一起探讨与学习!

    > 原文:https://infinilabs.cn/blog/202 ... cene/