如何使用Groovy脚本在Elasticsearch中获取具有给定ID的特定文档是否存在

时间:2019-02-18 08:03:48

标签: elasticsearch groovy

我正在使用groovy脚本将数据追加到数组,如下所示

(virtual) david@david-Lenovo-ideapad-110-15ISK:~/Blog$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified:   nimo/templates/about.html
modified:   nimo/templates/base.html
modified:   nimo/templates/navbar.html
modified:   static/css/base.css
new file:   static/images/dance.png
new file:   static/images/music.jpg
new file:   static/images/pic1.jpg
new file:   static/images/pic2.jpg
new file:   static/js/jquery-3.3.1.js
new file:   static/js/scripts.js

(virtual) david@david-Lenovo-ideapad-110-15ISK:~/Blog$ git add .
(virtual) david@david-Lenovo-ideapad-110-15ISK:~/Blog$ git commit -m     "comments"
[master 7fd6f10] comments
10 files changed, 10442 insertions(+), 1 deletion(-)
create mode 100644 static/images/dance.png
create mode 100644 static/images/music.jpg
create mode 100644 static/images/pic1.jpg
create mode 100644 static/images/pic2.jpg
create mode 100644 static/js/jquery-3.3.1.js
create mode 100644 static/js/scripts.js
(virtual) david@david-Lenovo-ideapad-110-15ISK:~/Blog$ git push origin     master
Username for 'https://github.com': DavidNganga
Password for 'https://DavidNganga@github.com': 
Counting objects: 286, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (222/222), done.
Writing objects: 100% (286/286), 412.07 MiB | 53.28 MiB/s, done.
Total 286 (delta 144), reused 112 (delta 50)

我的脚本如下,

body = {
        "script": {
            "lang": "groovy",
            "file": "demo_script",
            "params": {
                "users": array_ids
                }
            }
        }
es.update(index="demo_index", doc_type = "demo_type", id = uid, body = body)

在groovy脚本中,在添加数组元素之前(这里array_ids是要添加的id的列表),我需要检查ES中是否存在具有给定ID的文档(以我的情况为uid)。 如何在Groovy脚本中做到这一点

0 个答案:

没有答案