Mysql等效于ElasticSearch,基于字段更新字段

时间:2017-04-22 16:08:40

标签: mysql elasticsearch

我有一个名为' books'的索引。在那,标题&作者姓名是两个字符串类型的字段。我需要创建一个新字段,这样它就不会在标题中包含作者姓名。

例如:

标题:詹姆斯·金达尔在ES中的高级评分

作者姓名:James Gindal

然后,New_field = ES中的高级评分。

在mysql中,我可以通过简单的字符串REPLACE()函数进行更新查询。在ES中需要一个有效的解决方案。

1 个答案:

答案 0 :(得分:0)

使用_update_by_query

使用无痛脚本
{
    "script": {
        "inline": "ctx._source.new_field = 'Advanced Scoring in ES by'",
        "lang": "painless"
    },
    "query": {
        "bool": {
            "must": [{
                    "term": {
                        "title": {
                            "value": "Advanced Scoring in ES by James Gindal"
                        }
                    }
                },
                {
                    "term": {
                        "author_name": {
                            "value": "James Gindal"
                        }
                    }
                }
            ]
        }
    }
}