OpenSearch 5分钟快速开始
快速启动OpenSearch分布式搜索引擎,体验基本搜索功能。
环境要求
支持的操作系统
运行环境
所需工具
执行命令
操作步骤
下载OpenSearch
从官网下载最新版OpenSearch压缩包。
curl -L -o opensearch.tar.gz https://artifacts.opensearch.org/releases/bundle/opensearch/2.11.0/opensearch-2.11.0-linux-x64.tar.gz
预期结果::下载完成,文件名为opensearch.tar.gz。
如果使用Windows,可从官网下载.zip文件并解压。
解压并启动OpenSearch
解压文件并运行OpenSearch服务。
tar -xzf opensearch.tar.gz
cd opensearch-2.11.0 && ./bin/opensearch
预期结果::终端显示日志,包括'started'和'listening on [::]:9200'等消息。
首次启动可能需要几分钟,请等待服务完全启动。
验证服务运行
通过HTTP请求检查OpenSearch是否正常运行。
curl -X GET http://localhost:9200
预期结果::返回JSON响应,包含'version'和'name'字段,如{'name':'opensearch-node1','version':{'number':'2.11.0'}}。
如果返回错误,请检查服务是否已启动或端口9200是否被占用。
创建索引并添加数据
创建一个索引并插入一条文档进行搜索测试。
curl -X PUT http://localhost:9200/test-index
curl -X POST http://localhost:9200/test-index/_doc/1 -H 'Content-Type: application/json' -d '{"title":"Hello OpenSearch","content":"This is a test document."}'
预期结果::第一个命令返回{'acknowledged':true},第二个命令返回{'_id':'1','result':'created'}。
确保JSON数据格式正确,使用单引号包裹JSON字符串以避免转义问题。
执行搜索查询
搜索刚添加的文档以确认功能正常。
curl -X GET http://localhost:9200/test-index/_search?q=Hello
预期结果::返回JSON响应,包含'hits'数组,其中有一条文档匹配,如{'hits':{'total':{'value':1},'hits':[{'_source':{'title':'Hello OpenSearch','content':'This is a test document.'}}]}}。
如果无结果,请检查文档是否成功添加或搜索词是否正确。
验证成功
完成以上步骤后,您已成功运行OpenSearch并进行了基本搜索操作。
快速提示
使用-dashboards包可搭配可视化界面
生产环境需配置安全设置和集群
查看官方文档获取详细API指南
常见问题
启动失败,端口9200被占用
停止占用端口的进程或修改OpenSearch配置文件中的端口
Java版本不兼容
安装Java 11或更高版本并设置JAVA_HOME环境变量
curl命令返回连接拒绝
检查OpenSearch服务是否已启动,或等待几分钟后重试
下一步
探索OpenSearch Dashboards
安装并配置Dashboards进行数据可视化
学习索引和查询API
参考官方文档深入了解搜索和聚合功能
加入社区论坛
访问项目论坛或Slack获取帮助和交流
相关项目推荐
Snailclimb/JavaGuide
「Java学习+面试指南」涵盖大多数Java程序员需掌握的核心知识。备战Java面试,首选JavaGuide!
krahets/hello-algo
《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 代码。简体版和繁体版同步更新,英文版翻译中
iluwatar/java-design-patterns
Java 实现的设计模式
spring-projects/spring-boot
Spring Boot 助您轻松创建基于 Spring 的生产级应用程序和服务
elastic/elasticsearch
免费开源的分布式 RESTful 搜索引擎
MisterBooo/LeetCodeAnimation
Demonstrate all the questions on LeetCode in the form of animation.(用动画的形式呈现解LeetCode题目的思路)