Работает в определенных конфигурациях.Для работы всей системы могут быть необходимы версии подключаемых модулей и речного плагина эластичного поиска.
Вот шаги по воспроизведению рабочей среды
1) используйте версию эластичного поиска 1.2.4.Пакет для Ubuntu находится здесь: https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.4.deb
установите его с dpkg -i /path/to/elasticsearch-1.2.4.deb
2) установите плагин river и его зависимости:
cd /usr/share/elasticsearch && bin/plugin --install elasticsearch/elasticsearch-mapper-attachments/1.9.0
cd /usr/share/elasticsearch && bin/plugin --install com.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/2.0.1
Более новые версииДоступен плагин mapper atachments, но официальная вики плагина Mongo River предлагает использовать 1.9.0.
3) MongoDB v2.4.9 наверняка работает с плагином эластичного поиска реки.убедитесь, что mongod запущен с --replSet rs0
или у вас replSet=rs0
в mongod.conf
Далее, вы должны быть уверены, что набор реплик инициирован в mongodb: вход в консоль mongo:
mongo
Затем введите:
rs.initiate()
rs.status()
4) Подготовительные работы завершены, теперь вам нужно запустить плагин эластичного поиска по реке.Предполагая, что у вас работаетasticsearch на локальном хосте: 9200, а mongodb на 10.0.2.15:27017
curl -XPUT "localhost:9200/_river/feed/_meta" -d"
{
\"type\": \"mongodb\",
\"mongodb\": {
\"servers\": [
{\"host\": \"10.0.2.15", \"port\": 27017}
],
\"db\": \"YOUR_DB\",
\"collection\": \"YOUR_COLLECTION\"
},
\"index\": {
\"name\": \"YOUR_ELASTIC_INDEX\",
\"type\": \"item\"
}
}"
5) проверьте rs.config () на сервере mongo.Он должен содержать разрешимые имена хостов или ips для членов набора реплик, с которыми может связаться плагин mongodb river.Плагин Elasticsearch river подключится к хосту, указанному в mongodb.servers, и получит конфигурацию реплики.Затем он попытается подключиться к основному хосту реплики, заданному именем хоста, указанным в rs.config ().Если вы собираетесь использовать Docker-контейнеры для соединения monogdb иasticsearch через плагин river, тогда это проблема.
Вы можете обновить конфигурацию rs, выполнив следующие действия:
mongo
и затем в Монгооболочка
cfg = rs.config()
cfg.members[0].host = "12.34.56.78:27017"
rs.reconfig(cfg)