gpt4 book ai didi

elasticsearch - 根据Kibana/Elasticsearch中的条件更新文档中的字段

转载 作者:行者123 更新时间:2023-12-03 00:49:01 24 4
gpt4 key购买 nike

我正在尝试根据某些条件更新文档中的特定字段。在一般的sql方式中,我想执行以下操作。

Update index indexname
set name = "XXXXXX"
where source: file and name : "YYYYYY"

我正在下面使用更新所有文档,但是我无法添加任何条件。
POST indexname/_update_by_query
{
"query": {
"term": {
"name": "XXXXX"
}
}
}

这是模板,我正在使用:
{
"indexname": {
"mappings": {
"idxname123": {
"_all": {
"enabled": false
},
"properties": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"date1": {
"type": "date",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"source": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}

有人可以指导我如何如上所述为源和名称添加条件。

谢谢,
巴布

最佳答案

您可以使用以下查询查找所需内容。我假设namesource是您索引中的字段。

POST <your_index_name>/_update_by_query
{
"script": {
"inline": "ctx._source.name = 'XXXXX'",
"lang": "painless"
},
"query": {
"bool": {
"must": [
{
"term": {
"name": {
"value": "YYYYY"
}
}
},
{
"term": {
"source": {
"value": "file"
}
}
}
]
}
}
}

您可以使用 Full Text Queries内的 Term QueriesBool Query中的任何一个进行搜索/更新/删除。

一定要花一些时间来经历它们。

注意:仅当字段的数据类型为 Term Queries时才使用 keyword
希望这可以帮助!

关于elasticsearch - 根据Kibana/Elasticsearch中的条件更新文档中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56446932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com