2017-01-04 10 views
0

Elasticsearch версия: 5.1.1elasticsearch 5,1 Java API DeleteByQuery

версия ОС: CentOS 7

Описание проблемы в том числе ожидается, по сравнению с фактическим поведением: ES 5.1 версия не поддерживает удаление, по-запросу плагин , , поэтому мне нужно изменить код javaAPI.

Следующий код из предыдущей версии 2.3.

new DeleteByQueryRequestBuilder(ElasticConnector.getInstance().getJavaClient(), DeleteByQueryAction.INSTANCE) 
.setIndices(GLOBAL_ID) 
    .setTypes(MessageService.DEVICE) 
    .setQuery(QueryBuilders.boolQuery().should(QueryBuilders.termQuery("user_id", user_id)) 
    .should(QueryBuilders.termQuery("device_id", device_id) 
    .mustNot(QueryBuilders.boolQuery() 
    .must(QueryBuilders.termQuery("user_id", user_id)) 
    .must(QueryBuilders.termQuery("device_id", device_id)))) 
    .execute().actionGet(); 

Этот код имеет проблемы с

DeleteByQueryRequestBuilder не может быть разрешен к типу

Как изменить?

ответ

0

Я думаю, что это может решить вашу проблему

BulkIndexByScrollResponse response = 
    DeleteByQueryAction.INSTANCE 
    .newRequestBuilder(ESClient) 
    .filter(yourQuery) 
    .source(your index) 
    .get(); 

рассматривает

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

  • Нет связанных вопросов^_^