☰分类导航

软件工程/Elasticsearch示例
课程进度 69% · 第5/6章第5/6章 · 标签 1/8
— 1 —

实验目标与环境

本章完成一个两篇课程的可复现实验:连接服务、建索引、写入文档、执行搜索并解释结果。命令使用 Bash、curl 和 Elasticsearch 8.x 的 REST 接口。准备一个本机开发实例及其生成的密码、HTTP CA 证书;安装步骤见末页官方指南,勿把演示凭据写进仓库。

实验先只使用英文课程标题,目的是把映射、写入和过滤的行为看清楚。中文分词与复杂排序留待单独样本验证,这样连接失败或字段类型错误时,不会与语言处理问题混在一起。

— 2 —

建立可信连接

使用启用认证与 HTTPS 的开发实例。把服务生成的 CA 证书放在当前目录,设置下面的终端变量;read 的输入不进入命令历史。密码只留在当前终端环境中。若使用云端实例,应改用其端点、CA 与合适的访问凭据,不要为了连通而关闭证书验证。

先检查根响应是否包含实例信息,再继续建索引。证书文件不存在、主机名不匹配和密码错误会产生不同响应;记录错误类别即可,排障截图不应暴露真实密码。终端变量只是本机教学的简化做法。


```bash
export ES_URL="https://localhost:9200"
export ES_CA="$PWD/http_ca.crt"
read -rsp "Elastic password: " ELASTIC_PASSWORD; echo
export ELASTIC_PASSWORD
curl --cacert "$ES_CA" \
  -u "elastic:$ELASTIC_PASSWORD" "$ES_URL"
```
bash
1
export ES_URL="https://localhost:9200"
2
export ES_CA="$PWD/http_ca.crt"
3
read -rsp "Elastic password: " ELASTIC_PASSWORD; echo
4
export ELASTIC_PASSWORD
5
curl --cacert "$ES_CA" \
6
-u "elastic:$ELASTIC_PASSWORD" "$ES_URL"