2016-11-19 2 views
0

Я хочу удалить записи, которые соответствуют диапазону даты с ElasticaКак удалить записи с помощью Elastica?

elasticsearch запроса на удаление записей

curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{ 
"query": { 
     "range" : { 
      "age" : { 
       "gte" : 10, 
       "lte" : 20, 
       "boost" : 2.0 
      } 
     } 
    } 
} ' 

Как этот запрос с Elastica?

ответ

1

Что-то вроде этого нужно сделать:

$age_range = new NumericRange('age', array(
    'gte' => 10, 
    'lte' => 20, 
    'boost' => 2.0 
)); 
$client->deleteByQuery($age_range); 

Обратите внимание, что если вы работаете ES 2.x (любой версии), вам необходимо установить delete-by-query plugin первым. Если вы используете ES 1.x или 5.x, вам не нужно устанавливать дополнительный плагин.

+0

Я не могу найти функцию deleteByQuery() в моей эластике, где эта функция? – jamal

+0

Вы можете найти его здесь: https://github.com/ruflin/Elastica/blob/18b0c890c92744bdd5bd47cc1fc229b9dcd83263/lib/Elastica/Index.php#L151-L156 – Val

+0

Большое вам спасибо – jamal

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