elasticsearch _source
时间: 2023-09-06 09:07:58 浏览: 311
Elasticsearch的_source是一个特殊的字段,它存储了文档的原始JSON格式。它可以用来检索和显示文档的完整内容。默认情况下,当您从Elasticsearch检索文档时,它将返回文档的元数据和_source字段。您可以使用_source参数来控制是否包括_source字段或仅返回文档的元数据。您还可以使用_source字段来更新文档的内容。
相关问题
elasticsearch根据_source下的title字段查询或删除文档
可以使用Elasticsearch的API来根据_source下的title字段查询或删除文档。
查询文档:
```
GET /index_name/_search
{
"query": {
"match": {
"_source.title": "your_title_here"
}
}
}
```
这将返回所有title字段匹配"your_title_here"的文档。
删除文档:
```
POST /index_name/_delete_by_query
{
"query": {
"match": {
"_source.title": "your_title_here"
}
}
}
```
这将删除所有title字段匹配"your_title_here"的文档。请注意,这是一项危险的操作,因此请谨慎使用。
es 修改_source 里面的内容
在Elasticsearch中,_source字段通常包含文档的原始数据。如果你想修改`_source`里面的某个内容,你需要通过API来进行操作。这通常涉及到更新文档(Update by Query)或直接更新单个文档(Update API)。以下是一个基本示例:
1. **更新文档(Update by Query)**:
```json
POST /your_index/_update_by_query
{
"query": {
"match_all": {}
},
"script": {
"source": """
ctx._source.field_to_update = new_value;
""",
"lang": "painless" 或者 "groovy" (取决于你的索引配置)
}
}
```
这会匹配所有文档并更新指定的`field_to_update`。
2. **更新单个文档(Update API)**:
```json
PUT /your_index/_doc/your_document_id
{
"doc": {
"field_to_update": "new_value"
}
}
```
如果你想单独更新某个特定ID的文档,可以使用这个API。
记得替换`your_index`、`your_document_id`以及`field_to_update`和`new_value`为你实际的情况。
阅读全文