这个项目能做什么
Elasticsearch 是一个分布式搜索和分析引擎、可扩展的数据存储以及针对生产级工作负载的速度和相关性进行优化的向量数据库。它是 Elastic 开放 Stack 平台的基础,能够在海量数据集上实现近实时搜索、向量搜索以及与生成式 AI 应用的集成。
主要使用场景包括检索增强生成(RAG)、向量搜索、全文搜索、日志、指标、应用性能监控(APM)以及安全日志分析。该项目免费开源,对 Lucene 做出贡献,并拥有一系列机器学习创新。
入门:最简单的方式是使用托管的 Elastic Cloud 部署,或从 elastic.co 下载进行自托管。对于本地开发和测试,Elastic 提供了 start-local 脚本,可在 Docker 中启动 Elasticsearch 和 Kibana:
curl -fsSL https://elastic.co/start-local | sh
此命令会创建 elastic-start-local 文件夹,为 elastic 用户生成随机密码,将 API 密钥存储在 .env 文件中,并将 Elasticsearch 暴露在 http://localhost:9200,Kibana 暴露在 http://localhost:5601。该设置使用 Basic 认证,仅可通过 localhost 访问,不用于生产环境。
用户通过 REST API 与 Elasticsearch 交互。curl 示例展示了索引创建、添加文档和搜索。官方语言客户端(例如 Python)支持基本身份验证。Kibana 的 Dev Tools 控制台提供了便捷的界面来试验请求。文档是 JSON 对象,批量索引通过 _bulk API 使用换行分隔的 JSON。搜索可在近实时中使用。Kibana Discover 通过数据视图、可视化和仪表盘实现交互式探索。
升级自早期版本的说明见官方升级文档。从源码构建使用 Gradle;运行 ./gradlew localDistro 会为本地操作系统构建分发版,且存在针对 Linux、macOS 和 Windows 的平台特定组装命令。测试说明见 TESTING.asciidoc。
完整文档可在 elastic.co 获得。elasticsearch-labs 仓库包含 Python 笔记本、示例应用以及用于向量搜索、混合搜索和生成式 AI 场景的资源。欢迎通过 CONTRIBUTING.md 贡献代码;错误和功能请求可作为 GitHub Issues 提交,社区支持可通过 Elastic Forum 和 Slack 获得。
评论
0 评分人数达到10人后显示
登录后参与讨论。