2015-02-17 3 views
0

Я пытаюсь настроить сценарного переиндексации операции, как предложено в: http://www.elasticsearch.org/blog/changing-mapping-with-zero-downtime/Упругие Поиск Индекс Статус

Ехать с предложением о создании нового индекса, альясинга затем удалить старый индекс я должен был бы иметь путь к сообщите, когда была завершена операция индексирования по новому индексу. В идеале через интерфейс REST.

У него есть 80 миллионов строк для индексации и может занять несколько часов.

Я не могу найти что-нибудь полезное в документации ..

+0

Как вы строите новый индекс? Вы можете поменять псевдоним после того, как последний документ будет вставлен в новый индекс. Разумеется, может быть некоторое время для репликации документов по всему кластеру. –

+0

Я использую реку через соединение JDBC. Мне нужно знать, когда завершилась речная операция. curl -XPUT 'localhost: 9200/_river/my_index/_meta' -d '{ "type": "jdbc", "jdbc": { "driver": "com.mysql.jdbc.Driver", " url ":" jdbc: mysql: // ", " user ":" ", " password ":" ", " sql ":" select * from test ", " index ":" blah ", "type": "poi" } } ' –

+0

ОК. Может быть полезно изменить ваш вопрос, чтобы добавить эти данные –

ответ

1

Вы можете попробовать с _stats: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-stats.html

Например:

{ 
    "_shards" : { 
    "total" : 10, 
    "successful" : 5, 
    "failed" : 0 
    }, 
    "_all" : { 
    "primaries" : { 
     "docs" : { 
     "count" : 0, 
     "deleted" : 0 
     }, 
     "store" : { 
     "size_in_bytes" : 575, 
     "throttle_time_in_millis" : 0 
     }, 
     "indexing" : { 
     "index_total" : 0, 
     "index_time_in_millis" : 0, 
     "index_current" : 0, 
     "delete_total" : 0, 
     "delete_time_in_millis" : 0, 
     "delete_current" : 0, 
     "noop_update_total" : 0, 
     "is_throttled" : false, 
     "throttle_time_in_millis" : 0 
     }, 

Я думаю, вы можете сравнить _all.total. docs.count и _all.total.indexing.index_current

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