2016-11-27 4 views
0

Я хочу обновить несколько документов в elasticsearch. Обновление должно соответствовать SQL-запросОбновление нескольких документов

UPDATE tablename SET expired=true where id not in (list_of_ids) 

ли это возможно, или вы рекомендуете другое решение отслеживания активных и неактивных документов?

Я хочу хранить и использовать неактивные документы в статистических целях.

Благодаря

ответ

1

Это можно легко сделать с update by query API, как это:

POST index/_update_by_query 
{ 
    "script": { 
    "inline": "ctx._source.expired = true" 
    }, 
    "query": { 
    "bool": { 
     "must_not": { 
     "ids": { 
      "values": [1, 2, 3, 4] 
     } 
     } 
    } 
    } 
} 
+0

Спасибо, вот решение. В Python с elasticsearch мне просто нужно было выполнить 'es.update_by_query (index, doctype, body)' где тело json вы предоставили .. –

Смежные вопросы