Как я могу удалить индексы, включая несколько условий? - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь удалить указанные индексы, которые удовлетворяют выбранным условиям.

В данный момент я удаляю их, используя одно условие, как показано ниже

localhost:9200/pictures/picture/_delete_by_query?pretty
{
    "query": {
        "regexp":{
                "tag": ".*something.*"
            }
        }
    }
}

Я хотел бы удалить их, напримертаким образом

localhost:9200/pictures/picture/_delete_by_query?pretty
{
    "query": {
        "regexp":{
                "tag": ".*something.*",
                "path": "this/is/my/path",
                "user_id": 2,

            }
        }
    }
}

У вас есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 05 января 2019

Я думаю, что использование запроса bool было бы правильным направлением, примерно так должно работать:

localhost:9200/pictures/picture/_delete_by_query?pretty
{
    "query": {
        "bool": {
            "must": [
                {
                    "regexp":{
                            "tag": ".*something.*",
                            "path": "this/is/my/path",
                            "user_id": 2,

                        }
                    }               
                },
                {
                    "term": {
                        "path.keyword": "this/is/my/path"
                    }
                },
                {
                    "term": {
                        "user_id.keyword": 2
                    }               
                }
            ]
        }
    }
}
...