Как создать индекс с ElasticSearch, River и MongoDB?
Я использовал это руководство для установки и настройки MongoDB / Elasticsearch.
Весь учебник работал на Mac OSX Yosemite, и теперь я попытался сделать то же самое на Ubuntu 14.04.
Вот мой журнал ElasticSearch:
[2014-12-08 15:49:13,733][INFO ][cluster.service ] [Western Kid] new_master [Western Kid][fo8GLpDoRyKYBAkjk7f-jw][my_hostname][inet[localhost/127.0.0.1:9300]], reason: zen-disco-join (elected_as_master)
[2014-12-08 15:49:13,758][INFO ][http ] [Western Kid] bound_address {inet[/127.0.0.1:9200]}, publish_address {inet[localhost/127.0.0.1:9200]}
[2014-12-08 15:49:13,758][INFO ][node ] [Western Kid] started
[2014-12-08 15:49:14,449][INFO ][gateway ] [Western Kid] recovered [1] indices into cluster_state
[2014-12-08 15:49:15,225][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] Starting river mongodb
[2014-12-08 15:49:15,230][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] MongoDB River Plugin - version[2.0.4] - hash[7472875] - time[2014-11-11T13:26:19Z]
[2014-12-08 15:49:15,231][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] starting mongodb stream. options: secondaryreadpreference [false], drop_collection [false], include_collection [], throttlesize [5000], gridfs [false], filter [null], db [my_db_name], collection [my_collection], script [null], indexing to [my_index]/[my_type]
[2014-12-08 15:49:15,231][INFO ][river.mongodb.util ] setRiverStatus called with mongodb - RUNNING
[2014-12-08 15:57:56,543][INFO ][cluster.metadata ] [Western Kid] [_river] update_mapping [my_db_name] (dynamic)
Когда я попытался начать индексирование своей коллекции, я получил следующее сообщение:
{
"_index": "_river",
"_type": "my_type",
"_id": "_meta",
"_version": 4,
"created": false
}
Версия увеличивается каждый раз, когда я пытаюсь начать с 1.
Я думаю, создал: ложь означает, что индекс не может быть создан по какой-то причине, но я понятия не имею, почему.
1 ответ
Версия реки увеличивается, потому что вы на самом деле обновляете индекс _river, поэтому Elasticsearch не создает его, поскольку он уже существует.
Возможно, вы захотите установить плагин rubbersearch-head для лучшей визуализации вашего кластера, так как вы, кажется, не очень хорошо знакомы с API.
Попробуйте удалить _river и создать его снова, и вы увидите, что на этот раз он действительно будет создан статус.