shell批量新增es文档
时间: 2024-10-09 18:11:32 浏览: 55
在Shell脚本中批量向Elasticsearch(ES)添加文档,通常需要使用`curl`命令或者通过编程语言(如Python的`elasticsearch`库)来发送HTTP请求到ES的REST API。这里我将以简单的示例说明如何使用`curl`命令。
首先,假设你有一个包含文档数据的文本文件(例如:`documents.txt`),每行是一个JSON格式的文档:
```json
{
"title": "Document 1",
"content": "This is the first document."
}
{
"title": "Document 2",
"content": "Another one."
}
```
你可以创建一个Shell脚本来读取这个文件,并使用`curl`逐条将文档添加到指定索引中。这里是一个基础的bash脚本示例:
```bash
#!/bin/bash
INDEX_NAME="your_index_name"
TYPE_NAME="your_type_name" # 如果是ES6以上的版本,可以省略type
while IFS= read -r line; do
curl -X POST \
-H 'Content-Type: application/json' \
-d "$line" \
http://localhost:9200/$INDEX_NAME/$TYPE_NAME
done < documents.txt
# 运行脚本
./add_documents.sh
```
**注意**:
1. 将`your_index_name`和`your_type_name`替换为你实际的Elasticsearch索引名和文档类型。
2. 确保你的Elasticsearch服务器正在运行,并且可以通过`http://localhost:9200`访问。
阅读全文