Elasticsearch:如何在 Docker 上运行 Elasticsearch 8.x 进行本地开发

AI摘要

本文介绍了如何在Docker上启动Elasticsearch8.6.0和Kibana,包括禁用xpack安全性的本地开发配置和启用安全性的生产环境设置。通过Docker和DockerCompose,读者可以学习到如何管理网络、容器和数据卷,以及如何处理身份验证和安全连接。

对于 Elasticsearch 的新主要版本 (8.x.x),有关于在 Docker 上运行 Elasticsearch 和 Kibana 的重大更新。 过去适用于以前版本的 Docker 和 Docker Compose 的命令和语法需要更新才能适用于最新版本。 在这篇文章中,我们将介绍如何使用 Docker 和 Docker Compose 启动 Elasticsearch(8.6.0 版本)和 Kibana 进行本地开发。

我在之前的如下的文章中也对这个有所描述,但是在今天的文章中,我将从另外一个视角来进行展示。我将展示如何安装不带安全的 Elasticsearch。这个在很多的情况下也是适用的。

在我的展示中,我将使用最新的 Elastic Stack 8.6.0 来进行展示。

在禁用 xpack 安全性的情况下在 Docker 上运行 Elasticsearch 和 Kibana

默认情况下启用 xpack 安全性,这意味着你需要身份验证才能访问 Elasticsearch 服务器。 但是,对于本地开发,我们通常不需要很高的安全级别,因为一切都在本地。 我们将更多地关注业务逻辑和代码,而不是基础设施。 当代码准备好用于生产时。 我们可以使用托管的 Elasticsearch 解决方案,例如开发和维护 Elasticsearch 的公司 elastic.co。

直接用 Docker 启动 Elasticsearch 和 Kibana 非常简单。 首先,我们需要创建一个供 Elasticsearch 和 Kibana 使用的 network。这个 network 将被用于 Elasticsearch 和 Kibana 之间的通信。

docker network create elastic
$ docker network create elastic
74c71b18b8f1a411e76ba9e99fea31d858301bc6b861d5fe795afac53b00fdce

然后我们可以为 Elasticsearch 创建一个 Docker 容器:

docker run \
      --name elasticsearch \
      --net elastic \
      -p 9200:9200 \
      -e discovery.type=single-node \
      -e ES_JAVA_OPTS="-Xms1g -Xmx1g"\
      -e xpack.security.enabled=false \
      -it \
      docker.elastic.co/elasticsearch/elasticsearch:8.6.0

 这里的要点:

  • 刚刚创建的网络用于 Elasticsearch,因此它可以被 Kibana 发现,Kibana 也将使用该网络。
  • 创建单节点 Elasticsearch 集群。
  • 环境变量 ES_JAVA_OPTS 用于指定最小和最大 JVM 堆大小(在本例中为 1GB)。 如果没有设置,很有可能你的 Elasticsearch 容器无法启动成功。
  • 我们需要明确禁用 xpack 安全性,这样我们就不需要身份验证来访问 Elasticsearch 服务器。 本地开发没问题,但应该为生产启用。

我们可以使用 Dockerhub 上托管的 docker 镜像,也可以使用 Elasticsearch 直接提供的镜像。

运行完上面的命令后,我们可以使用如下的命令来查看正在运行的 docker 容器:

docker ps
$ docker ps
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED              STATUS              PORTS                              NAMES
5418c3eb7e96   docker.elastic.co/elasticsearch/elasticsearch:8.6.0   "/bin/tini -- /usr/l…"   About a minute ago   Up About a minute   0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch

我们在 macOS 上可以使用如下的命令来查看 9200 是否已经被使用:

sudo lsof -i -P | grep LISTEN | grep 9200
$ sudo lsof -i -P | grep LISTEN | grep 9200
Password:
com.docke 55204          liuxg  133u  IPv6 0xec85ab355a7a51d      0t0    TCP *:9200 (LISTEN)

我们在 terminal 中可以打入如下的命令来进行查看:

curl localhost:9200
$ curl localhost:9200
{
  "name" : "5418c3eb7e96",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "8T2kPKBCQ_Ck03Xli0GHVw",
  "version" : {
    "number" : "8.6.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "f67ef2df40237445caa70e2fef79471cc608d70d",
    "build_date" : "2023-01-04T09:35:21.782467981Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

上面表明我们的 Elasticsearch 已经成功地运行起来了。当你看到上面的输出时,表示 Elasticsearch Docker 容器已成功启动。

然后我们可以启动一个 Kibana 容器来管理带有漂亮用户界面的 Elasticsearch 服务器。要为 Kibana 启动 Docker 容器,请在另外一个 terminal 中运行:

docker run \
    --name kibana \
    --net elastic \
    -p 5601:5601 \
    docker.elastic.co/kibana/kibana:8.6.0

这里的重点是:

  • 我们必须为 Kibana 指定与 Elasticsearch 相同的网络。
  • 最好使用与 Elasticsearch 相同版本的 Kibana。

如果访问 http://localhost:5601,就可以直接打开 Kibana 的Web UI,不需要认证。

我们可以使用如下的命令来查看正在运行的容器:

docker ps
$ docker ps
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED          STATUS          PORTS                              NAMES
6a4a6b1f8fbf   docker.elastic.co/kibana/kibana:8.6.0                 "/bin/tini -- /usr/l…"   3 minutes ago    Up 3 minutes    0.0.0.0:5601->5601/tcp             kibana
5418c3eb7e96   docker.elastic.co/elasticsearch/elasticsearch:8.6.0   "/bin/tini -- /usr/l…"   15 minutes ago   Up 15 minutes   0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch

使用 Docker Compose 运行 Elasticsearch 和 Kibana

最好在 docker-compose.yaml 文件中指定我们需要运行的 Docker 容器,尤其是当你有多个容器时。 这样,你可以同时管理它们,而不需要一个一个地启动它们。 有了docker-compose.yaml,代码的版本控制和共享也更加方便。

上面演示的 Elasticsearch 和 Kibana 容器的 docker-compose.yaml 文件如下。 设置与直接启动 Docker 容器相同。我们先使用 CTRL+C 来停止上面运行的容器。我们创建如下的 docker-compose.yml 文件:

docker-compose.yml

version: "3.9"
services:
  elasticsearch:
    image: elasticsearch:8.6.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms1g -Xmx1g
      - xpack.security.enabled=false
    volumes:
      - es_data:/usr/share/elasticsearch/data
    ports:
      - target: 9200
        published: 9200
    networks:
      - elastic

  kibana:
    image: kibana:8.6.0
    container_name: kibana
    ports:
      - target: 5601
        published: 5601
    depends_on:
      - elasticsearch
    networks:
      - elastic      

volumes:
  es_data:
    driver: local

networks:
  elastic:
    name: elastic
    driver: bridge

可以看到,我们可以在同一个文件中管理网络、volume 和容器,超级方便。 请记住在使用此 docker-compose.yaml 文件启动容器/服务之前关闭上面启动的 elasticsearch 和 kibana 容器,否则会发生端口冲突。 或者,你可以在此文件中指定不同的已发布端口。我们使用如下的命令来启动:

docker-compose up

等 Elasticsearch 及 Kibana 容器起来后,我们就可以访问它们了。当我们完成上面的运行并不再使用这些容器的话,请使用如下的命令来删除使用的资源:

docker-compose down

在启用 xpack 安全性的 Docker 上运行 Elasticsearch 和 Kibana

上面我们介绍了如何快速启动 Elasticsearch 和 Kibana 的 Docker 容器进行本地开发。 当不需要担心身份验证问题时,它们非常适合本地开发。

对于生产,我们当然应该启用 xpack 安全功能。 但是,如果可能的话,我们不应该自己托管 Elasticsearch 服务器,而应该通过专门的提供商来托管,例如开发和维护 Elasticsearch 的公司 elastic.co。 这样,我们就不用担心硬件、安全、升级等细节问题,可以专注于业务逻辑和数据。

然而,在某些情况下也需要本地身份验证。 我们可以删除上面演示的 xpack.security.enabled=false 环境变量,xpack 安全将自动启用。我们先创 elastic 这个网络:

docker network create elastic

如果网络已经存在,你可以不创建。

要启动启用了 xpack 安全性的 Elasticsearch 容器,请运行:

docker run \
      --name elasticsearch \
      --net elastic \
      -p 9200:9200 \
      -e discovery.type=single-node \
      -e ES_JAVA_OPTS="-Xms1g -Xmx1g"\
      -e ELASTIC_PASSWORD=elastic \
      -it \
      docker.elastic.co/elasticsearch/elasticsearch:8.6.0

如果你已经做了上面的练习,那么你可能会遇到如下的错误信息:

$ docker run \
>       --name elasticsearch \
>       --net elastic \
>       -p 9200:9200 \
>       -e discovery.type=single-node \
>       -e ES_JAVA_OPTS="-Xms1g -Xmx1g"\
>       -e ELASTIC_PASSWORD=elastic \
>       -it \
>       docker.elastic.co/elasticsearch/elasticsearch:8.6.0
docker: Error response from daemon: Conflict. The container name "/elasticsearch" is already in use by container "5418c3eb7e964993215c3162571e6cbe3dc969b68ced0cf5ff0529d9a93fb7ff". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

这是因为 elasticsearch 这个名字已经被使用。我们可以通过如下的方法来删除它:

$ docker ps -a
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED          STATUS                       PORTS     NAMES
6a4a6b1f8fbf   docker.elastic.co/kibana/kibana:8.6.0                 "/bin/tini -- /usr/l…"   15 minutes ago   Exited (0) 7 minutes ago               kibana
5418c3eb7e96   docker.elastic.co/elasticsearch/elasticsearch:8.6.0   "/bin/tini -- /usr/l…"   27 minutes ago   Exited (130) 7 minutes ago             elasticsearch
$ docker container rm elasticsearch
elasticsearch
$ docker container rm kibana
kibana

这样,我们删除了上面的两个容器:elasticsearch 及 kibana。我们再次运行上面的命令:

请注意,我们为默认用户 elastic 指定了密码。 如果此处不指定,则在启动容器时会生成一个随机密码。 你还将看到为 Kibana 生成的注册 token:

 我们向下滚动,我们可以看到:

打开一个新的控制台,我们先直接调用 Elasticsearch API。 奇怪的是,我们需要从 Docker 容器中复制安全证书并将其用于 curl 身份验证:

docker cp elasticsearch:/usr/share/elasticsearch/config/certs/http_ca.crt .
$ docker cp elasticsearch:/usr/share/elasticsearch/config/certs/http_ca.crt .
$ ls
docker-compose.yml http_ca.crt

我们在上面的目录中使用如下的命令:

curl --cacert http_ca.crt https://elastic:elastic@localhost:9200
$ curl --cacert http_ca.crt https://elastic:elastic@localhost:9200
{
  "name" : "0d00368e6884",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "_do0yq5LQt-puX4feF8cBQ",
  "version" : {
    "number" : "8.6.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "f67ef2df40237445caa70e2fef79471cc608d70d",
    "build_date" : "2023-01-04T09:35:21.782467981Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

然后让我们创建一个 Kibana 容器来管理这个带有身份验证的 Elasticsearch 服务器。 该命令实际上与上面相同:

docker run \
    --name kibana \
    --net elastic \
    -p 5601:5601 \
    docker.elastic.co/kibana/kibana:8.6.0

在控制台中,我们看到类似这样的内容:

注意:我们需要在 URL 中指定验证码才能访问 Kibana。 0.0.0.0 表示本地计算机上的所有 IPv4 地址都可以访问此端口。 当你转到 http://0.0.0.0:5601/?code=828696 时,系统会提示你输入注册 token: 

 复制并粘贴启动 Elasticsearch 容器时屏幕上显示的注册 token。 如果屏幕上满是日志或令牌已过期,你可以使用 elasticsearch-create-enrollment-token 命令生成一个新 token。 我们可以直接在 Elasticsearch 容器内使用 elasticsearch-create-enrollment-token 命令:

$ docker exec -it elasticsearch \
    /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token \
    -s kibana

然后在你点击 “Configure Elastic” 之后,你需要输入你的用户名和密码,在这个例子中都 elastic。最后,你可以使用 Kibana 来管理你的 Elasticsearch 服务器。 嗯,启用 xpack 安全性确实非常安全。 我们需要验证码、注册 token 和用户名/密码,这将确保安全🛡️。 

启用 xpack 安全性时使用 Docker Compose 运行 Elasticsearch 和 Kibana 

令人惊讶的是,在启用 xpack 安全性的情况下,编写 docker-compose.yaml 文件来管理 Elasticsearch 和 Kibana 容器非常复杂。 我们需要自己明确管理证书,可以在 “Elasticsearch:使用 Docker compose 来一键部署 Elastic Stack 8.x” 中找到。 很奇怪,直接使用 Docker 如此简单,而使用 Docker Compose 对于 xpack 安全性却复杂得多。 我认为在他们有更好的版本之前,我们应该避免使用它。

总结

我们已经介绍了在 Docker 上运行 Elasticsearch 和 Kibana 的各种方法。 对于本地开发,在大多数情况下我们可以禁用 xpack 安全性,只关注数据和查询。 在禁用 xpack 安全性时使用 Docker 会更加直接。 对于生产,我们通常会将数据托管在专门的提供商(例如 elastic.co)上,这样可以省去管理服务器、证券和升级的工作,让我们专注于重要的业务逻辑。

相关推荐

AgentHack Shanghai|基于阿里云AI搜索 Elasticsearch x Qoder 构建AI Agent应用

2026年12月12日,Elastic社区、阿里云与Qoder联合举办AgentHack实战活动,聚焦AI编程、搜索检索与智能体工具链融合。参赛者将使用唯一指定工具QoderCN,在一天内完成从需求分析到可演示原型的构建,结合阿里云AI搜索或Elastic生态实现真实场景应用。活动提供技术工作坊、导师答疑及1个月QoderCN专业版会员,鼓励展示数据检索、工具调用与任务闭环的完整链路。参赛者可基于阿里云Elasticsearch、ElasticCloud或自部署环境,打造企业知识问答、业务分析等智能体原型,

Elastic 中国社区官方博客 1429

Elastic 线下 Meetup 将于 2026 年 12 月 19 号下午在西安举行

2026年12月19日,Elastic、阿里云与新智锦绣联合举办西安站ElasticMeetup。活动聚焦Elasticsearch向量搜索、AI Agents构建及企业级知识引擎演进,特邀刘晓国、陈星宇、孔祥超等专家分享技术前沿实践。内容涵盖语义搜索、智能诊断、云原生管控与大模型时代搜索架构升级,助力开发者掌握企业级AI应用落地核心能力。

Elastic 中国社区官方博客 1290

Elastic 线下 Meetup 将于 2026 年 11 月 28 号下午在杭州举行

2026年11月28日,杭州阿里云谷园区将举办AI搜索技术盛会。活动汇聚Elastic社区首席布道师刘晓国、中国电子云高斌、阿里云汤祯捷及预言家科技欧阳楚才等专家,聚焦Elasticsearch向量搜索、AI Agents构建、本体智能体上下文引擎与电商智能导购系统,探讨AgenticSearch 2.0、多模态检索与企业级智能搜索演进。现场设茶歇、合影与抽奖,报名成功后请扫码入群。

Elastic 中国社区官方博客 1077

Elastic:如何成为一名 Elastic 认证工程师,Elastic 认证分析师及 Elastic 认证可观测性工程师

Elasticsearch 无疑是是目前世界上最为流行的大数据搜索引擎。根据 DB - Engines 的统计,Elasticsearch 雄踞排行榜第一名,并且市场还在不断地扩大:能够成为一名 Elastic 认证工程师也是很多开发者的梦想。这个代表了 Elastic 的最高认证,在业界也得到了很高的认知度。得到认证的工程师,必须除了具有丰富的 Elastic Stack 知识,而且必须有丰富的操作及有效的解决问题的能力。拥有这个认证证书,也代表了个人及公司的荣誉。针对个人的好处是,你可以..

Elastic 中国社区官方博客 2万+

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。我们可以按照如下的步骤来学习:1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

Elastic:培训视频 - ​在生产环境中配置 Fleet Server 和 Elastic Agent 之间的安全

在这篇文章中,我将会把我写的有些内容录制成视频,供大家参考。希望对大家有所帮助。优酷的视频频道地址在这里。Elastic 简介及Elastic Stack 安装:优酷,腾讯 Elastic Stack docker 部署:优酷,腾讯 Elasticsearch中的一些重要概念(Cluster/Shards/Replica/Document/Type/Index):优酷,腾讯 开始使用El...............

Elastic 中国社区官方博客 1万+

Elasticsearch 简介

Elasticsearch是一个非常强大的搜索引擎。它目前被广泛地使用于各个IT公司。Elasticsearch是由Elastic公司创建并开源维护的。它的开源代码位于https://github.com/elastic/elasticsearch。同时,Elastic公司也拥有Logstash及Kibana开源项目。这个三个开源项目组合在一起,就形成了 ELK软件栈。他们三个共同形成了一个强大的...

Elastic 中国社区官方博客 17万+

Kibana 中的人工智能连接器:你的 agent 可调用的 90 多个数据源

Elastic推出Kibana内置的90+人工智能连接器,支持Slack、GitHub、Confluence、PagerDuty等平台,让agent在推理中自动调用外部数据源,无需编写集成代码。通过身份验证中继服务,agent可安全访问个人或组织数据,快速关联告警与背景信息(如变更记录、讨论串、文档),显著缩短故障排查时间。结合ElasticCloud Trial,用户可即刻体验完整功能。

Elastic 中国社区官方博客 229

更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描

Elasticsearch 现在在成本模型中将文档位数的权重提高至原来的三倍,因此 DiskBBQ 会先尝试预处理和更深层的重排序,再增加一个比特,使量化向量在保持相同召回率的同时维持较小的体积。

Elastic 中国社区官方博客 278

对 OpenTelemetry Kafka 接收器的两项改动,避免一个缓慢的租户拖住其他租户

Elastic通过两项改进解决OpenTelemetry Kafka接收器中的“吵闹邻居”问题:一是为每个Kafka分区引入独立工作单元,实现租户间分区隔离;二是添加租户限流处理器,动态限制各租户在共享发送队列中的槽位占用,防止慢租户阻塞其他租户。结合max_in_flight配置提升单分区吞吐量与内存控制,确保记录不丢失、投递至少一次,同时保障多租户环境下稳定高效的数据处理。

Elastic 中国社区官方博客 335

三次模型调用,占据 92% 的等待时间:使用 OpenTelemetry 实现人工智能 agent 可观测性

使用OpenTelemetry追踪LangChain购物助手,发现92%耗时源于三次模型调用。虽将比较模型替换为更便宜的版本后,成本降低76%-83%,但四成问题响应变慢。通过追踪数据定位瓶颈,结合ES|QL分析词元用量与费用,验证了成本优化但延迟未改善。借助Elastic AI Agent建议,进一步测试return_direct=True以跳过冗余调用,实现性能与成本双赢。可观测性助力精准决策,确保答案正确、响应高效。

Elastic 中国社区官方博客 406

Elasticsearch:稠密向量字段类型

dense_vector字段用于存储稠密向量,支持k近邻搜索(kNN),默认启用索引并使用余弦相似度。可接受浮点数数组或Base64编码字符串输入,支持自动量化(如int8、int4、bbq)以降低内存占用。通过index_options配置索引类型(如hnsw、bbq_disk),并可启用过采样与重新评分提升精度。向量默认不存储于_source中以节省空间,可通过fields或_source.exclude_vectors显式返回。支持bit向量及GPU加速索引,适用于高维向量场景。

Elastic 中国社区官方博客 289

使用 Qoder 将 CSV 文件导入 Elasticsearch

本文演示如何通过Qoder智能助手,仅用4轮对话,将IMDB电影数据CSV文件(10,178条)高效导入Elasticsearch。无需编写代码,Qoder自动完成依赖安装、连接配置、字段类型推断(text/keyword/double)、数据验证及导入,支持自定义映射与数据转换,耗时约30秒,显著简化数据导入流程。

Elastic 中国社区官方博客 246

两条规则,一次故障,一条告警:变点检测如何减少告警噪声

Elastic Carlos Crespo揭示了基于ES|QL规则的AI agent如何通过重运行查询验证告警真实性,实现从日志变化到重大事件告警的自动化。系统先通过变点检测识别规则行为突变,再由发现agent核实故障存在性、规模与影响范围,并合并同类信号以减少噪声。每条告警均附带可追溯的查询证据,确保结论可验证。最终生成的告警包含严重程度、置信度、受影响拓扑及量化指标,支持运维决策。该流程结合代码与模型分工,保障可靠性与可解释性,已在多场景测试中验证有效性。

Elastic 中国社区官方博客 333

把词向量“贴”在地球仪上:用球面视角看 Embedding 的真实几何

本文通过将归一化词向量投影至3D球面,利用slerp绘制大圆弧,以真实反映余弦相似度对应的测地线距离。相比传统PCA平面散点图,球面可视化避免几何扭曲,直观呈现词间语义关系。结合Plotly实现交互式“词语地球仪”,可旋转观察聚类、跨语言对齐(如“cat”与“猫”),并对比高维真值与降维后距离的失真。代码简洁(<200行),支持模型替换与扩展,揭示“向量相近”在球面上的真实形态。

Elastic 中国社区官方博客 262

我们的 agent 技能如何调研、构建和测试完整的 Elastic 集成

作者:来自 Elastic我们让 agent 技能处理美国国家标准与技术研究院的国家漏洞数据库接口,得到了两个数据流和一个经过验证的通用表达式语言程序,并通过了流水线测试和系统测试。调研发现,一天中 78% 的通用漏洞与披露记录都是旧记录的重新发布,这一发现改变了设计。Elasticsearch 原生集成了业界领先的生成式人工智能工具和服务提供商。欢迎观看我们的网络研讨会,了解如何,或使用构建可用于生产环境的应用。要为你的使用场景构建最佳搜索解决方案,立即开始,或在你的上试用 Elastic。

Elastic 中国社区官方博客 130

基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析

是一个结构清晰、覆盖全面且极具实操价值的开源项目。它不仅展示了Jina AI 多模态模型在非结构化数据表征上的强悍性能,也展现了在混合检索(BM25 + k-NN + RRF)以及多模态 RAG 架构上的工程实践。无论是准备构建企业级智能知识库、多媒体图库检索系统,还是探索音视频多模态推荐,该项目都提供了非常优秀的代码模版与架构参考。

Elastic 中国社区官方博客 208

你的日志早已写好告警:在 Elasticsearch 中生成 ES|QL 检测查询

Elastic Observability Labs展示如何基于OpenTelemetry日志自动生成精准的ES|QL检测查询。通过30个知识指标(27个推断、3个计算),生成10条查询,其中4条转化为Kibana告警规则。查询严格遵循三条提示词规则:精确匹配短语、不依赖log.level、仅在同文档中组合谓词。正常运行时匹配0条,故障期间捕获676条支付服务异常日志。查询随依赖知识失效自动停用,确保持续有效性。

Elastic 中国社区官方博客 685

基于 Jina OCR v1 与 Elasticsearch 的 PDF 智能混合检索与 RAG 系统实战指南

本文介绍开源项目jina-ocr-v1-pdf,基于JinaOCRv1高精度视觉解析与Elasticsearch的混合检索(RRF),构建端到端PDF智能问答系统。通过PyMuPDF渲染高清图像、并发OCR提取结构化文本(Markdown/HTML),结合自动切片向量化与BM25+语义检索融合,实现精准页码定位与上下文相关性提升。配合Streamlit前端与Kibana监控,支持企业级文档智能处理,有效解决扫描件、多栏、表格等复杂排版难题,为RAG应用提供高效、可扩展的技术范本。

Elastic 中国社区官方博客 556

Elastic Cloud 无服务器服务审计日志:将审计记录发送到可观测性或安全解决方案

ElasticCloud无服务器服务推出审计日志投递功能,支持将Elasticsearch与Kibana的活动日志(如索引变更、登录行为、数据访问)自动投递至同一组织内的可观测性或安全项目。附带8条告警规则和7个仪表板,涵盖凭据攻击检测、对象取证、数据访问追踪等场景。通过忽略筛选条件可降低存储成本,实现按需保留关键证据。支持跨项目日志聚合,助力安全与合规团队高效调查。立即免费试用14天,体验AI驱动的搜索与智能监控。

Elastic 中国社区官方博客 183

Elastic 在《Forrester Wave™:2026 年第四季度智能运维平台》报告中被评为强劲表现者

Elastic在《ForresterWave®:2026年第四季度智能运维平台》中被评为强劲表现者,获五项最高评分,涵盖算法可信度、可观测性即代码、AI技术栈、数据主权与定价透明度。其人工智能站点可靠性工程师以透明推理、完整上下文、持续学习和开放标准为核心,实现可验证排查、高效存储与跨环境兼容,助力团队信任AI、提升响应效率,推动智能运维迈向可验证、可进化的新阶段。

Elastic 中国社区官方博客 194

使用 OpenTelemetry 在 Elastic 中实现 Claude 平台的人工智能 agent 可观测性

Elastic与Claude平台集成,通过OpenTelemetry将AI agent追踪数据实时发送至Elastic,实现无代码观测。用户可在Kibana中查看模型请求、工具调用及上下文协议的完整交互轮次,包含耗时、词元计数与对话内容。支持服务清单、告警规则与SLO设置,结合SDK可实现跨服务追踪。免费云试用已开放,快速接入即可全面掌握Claude agent性能与成本。

Elastic 中国社区官方博客 894

三个区域、三个 Kibana、一个视图:跨集群搜索登陆 Elastic 合成监测

Elastic 9.5推出合成监测跨集群搜索功能,实现多集群监测器统一视图。无需复制数据,中央Kibana可实时查询远程集群的探测结果,展示状态、用户旅程、截图与证书,支持按远程集群筛选与分组。配置仍保留在原集群,仅提供只读访问,管理需返回源Kibana。适用于有状态部署,暂不支持无服务器服务。告警跨集群功能正在开发中。

Elastic 中国社区官方博客 384

Elastic 重大事件功能如何将 100 条日志样本转化为检测规则

本文介绍Elastic重大事件功能如何通过智能日志采样,从100份样本中提取27个知识指标(如服务、依赖关系、技术等),构建有证据支撑的日志源描述,进而生成精准检测规则。相比均匀采样易遗漏罕见故障信息,该系统采用三路分层采样(按实体筛选、多样性、随机)确保覆盖长尾模式,并通过循环迭代与去重机制提升准确性。知识指标可审核、手动保留或排除,支持持续接入。第二部分将基于这些指标生成可执行的查询,实现从“看到”到“检测”的跨越。

Elastic 中国社区官方博客 301

给海量查询“减负”:列式查询改写如何让检索更“省力”

Elasticsearch 9.5.0推出的列式查询改写技术,实现“零改造、高兼容、高精准”的查询优化。通过按需读取字段、谓词下推与嵌套扁平化,显著降低冗余读取与解码开销。基于1.8亿条日志的实测验证:16个用例命中数完全一致,核心时延持平,边界场景稳定,DSL语法兼容。系统自动降级兜底,确保功能可用。该技术特别适用于日志检索等海量数据场景,为集群性能提升提供开箱即用的底层支撑。

Elastic 中国社区官方博客 637

Elastic 如何帮助奥迪 Revolut F1® 车队在工程软件中找到关键信息

Elastic与奥迪RevolutF1®车队达成多年合作,将作为2026年美国大奖赛官方赛事合作伙伴,并自2027年起成为其官方搜索与可观测性供应商。通过Elastic技术栈(Logstash、Elasticsearch、Kibana),车队实现跨系统日志与遥测数据的统一视图,助力工程师在毫秒级内快速排查问题,提升软件可靠性。该合作不仅强化工程效率,更推动AI辅助诊断与决策支持,为赛车性能持续优化提供技术支撑。

Elastic 中国社区官方博客 218

5 分钟内将 56 页扫描文档转化为带引用的答案:面向搜索无法读取的文档的检索增强生成流水线

通过Elasticsearch与jina-ocr-v1结合,可将扫描版PDF(如56页植物指南)快速转化为可检索、可引用的知识库。该流程利用单一模型完成文档解析,输出结构化Markdown,再由Elasticsearch自动分块并生成嵌入向量,支持混合检索(关键词+语义)。用户以自然语言提问,系统返回带页码引用的答案及推荐商品,全程在统一平台内完成,无需自建流水线。

Elastic 中国社区官方博客 499

我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic

Elastic团队历时三年,将OpenTelemetry Java Agent从内联字节码插桩迁移至基于invokedynamic的类加载器隔离模式,支持100+插桩模块,提升可维护性与调试能力。相比此前三人团队的迁移,此次协作规模扩大,通过渐进式发布、运行时开关与自动化工具确保生产稳定。新架构实现插桩代码独立加载、兼容Java平台模块系统,并解决旧版本字节码兼容性问题。2026年7月,相关任务正式关闭,标志着迁移完成。

Elastic 中国社区官方博客 331

将 Elastic 引入 Claude:原因、方法与注意事项

Elastic发布Claude插件,将自身AI能力融入开发者工作流。从提交到上线仅用三周,但过程充满挑战:需绕过权限限制、调整版本管理策略(改用stable分支)、应对审核警告(如凭据提示、图标缺失等),且上线后无通知。插件首发于社区目录,需额外验证才能进入官方市场。作者强调,技术之外,与Anthropic团队的人际沟通是关键。经验表明,文档未覆盖的细节常需实战互动解决。欢迎开发者共享经验,共同推动生态发展。

Elastic 中国社区官方博客 117

告别繁琐控制台:Kabanos 如何将 MongoDB Compass 的易用性带入 Elasticsearch

Kabanos是一款专为macOS设计的本地优先桌面客户端,整合Elasticsearch与OpenSearch集群管理痛点。它结合MongoDB Compass式树状浏览与Kibana DevTools高效控制台,支持凭据安全加密、生产环境二次确认、只读模式及沙盒化架构,保障操作安全。内置查询库、自动化Routines与DryRun模式,提升运维效率。基于Electron与Zod校验,实现渲染层与网络请求隔离。快速上手:克隆仓库,启动Docker测试集群,运行pnpm dev即可使用。开源项目欢迎贡献,推

Elastic 中国社区官方博客 392
上一篇: Elasticsearch:如何在 Elasticsearch 中正确使用同义词功能
下一篇: Elasticsearch:解析和丰富日志数据以在 Elastic 平台上进行故障排除
Elastic 中国社区官方博客
Elastic 中国社区官方博客 企业官方账号 企业官方账号 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄12年 5万+粉丝 3111原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值