У меня уже есть MongoDB и установлен Elasticsearch с Mongoriver. Так что я создал мою реку:Индекс mongoDB с ElasticSearch
$ curl -X PUT localhost:9200/_river/database_test/_meta -d '{
"type": "mongodb",
"mongodb": {
"servers": [
{
"host": "127.0.0.1",
"port": 27017
}
],
"options": {
"secondary_read_preference": true
},
"db": "database_test",
"collection": "event"
},
"index": {
"name": "database_test",
"type": "event"
}
}'
Я просто хочу, чтобы получить события, которые country:Canada
поэтому я стараюсь:
$ curl -XGET 'http://localhost:9200/database_test/_search?q=country:Canada'
И я получаю:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
Я поиск в Интернете и я прочитал, что должен сначала проиндексировать мою коллекцию с помощью Elasticsearch (потерял ссылку). Должен ли я индексировать мой монгод? Что мне делать, чтобы получить результаты из существующей коллекции MongoDB?
Работали как очарование. Я искал довольно долгое время. Спасибо! – y2p
Привет, у меня такая же проблема ... последовали за вашим ответом, но все равно получаю ту же самую ошибку..им, используя mongodb-2.6.1, elasticsearch «lucene_version»: «4.6», elasticsearch-river-mongodb-1.7.1 и elasticsearch-mapper- вложения/1.9.0 – praaveen
Происходит ли фактический ES-индекс после завершения mongorestore? – Shmukers