Как получить эластичный поиск, чтобы играть с MongoDb и node.js?
Я новичок в mongodb и node.js, но недавно получил все, чтобы хорошо работать для меня, пока не дошел до того, что мне нужно было добавить полный текстовый поиск на мой сайт. Из моих исследований я понял, что Elasticsearch будет хорошо подгоняться, но я не мог точно понять, как заставить его работать с node.js и mongodb. В настоящее время я использую Heroku и MongoLab для размещения моего приложения. Вот мои вопросы.
- Как разместить Elasticsearch?
-
Как сделать все мои данные монго доступными для elasticsearch, я использую реку или вручную вставляю и удаляю все данные?
Я нашел что-то такое river, но я не совсем уверен, как сделать это автоматически и где его размещать.
-
Как мне выполнить запрос Elasticsearch с node.js? Есть ли пакет, который позволяет это?
Edit:
Вопрос 2 - это то, с чем я борюсь. Я также включил вопросы 1 и 3, чтобы помочь людям, которые новичок в этой теме и приходят из Google.
Ответы
Ответ 1
1) либо на вашем собственном сервере/VM/независимо от того,.. или с размещенной службой, такой как https://searchbox.io/
2) вы можете создать script, чтобы индексировать ваши существующие данные, а затем индексировать новые данные после их создания или использовать реку для индексации текущей базы данных.
3) ElasticSearch - простой HTTP API, вы можете создавать свои собственные запросы с помощью модуля http или упрощать его с помощью https://github.com/mikeal/request
вы также можете использовать стороннюю библиотеку, например https://github.com/phillro/node-elasticsearch-client
Ответ 2
Searchly.com(Aka SearchBox.io) представил новую функцию сканера включает в себя искатель MongoDB.
Он извлекает данные из данной коллекции и периодически синхронизируется с ElasticSearch. Проверьте http://www.searchly.com/documentation/crawler-beta/
Ответ 3
- Вы можете размещать на своем собственном сервере или использовать службу aws elasticsearch или использовать эластичное облако, предоставляемое elasticsearch.
- Попробуйте выполнить любое из следующих трех решений: i) Попробуйте использовать мангустатический. Пакет NPM ii) Используйте mongo-коннектор. iii) python script для индексирования данных в elasticsearch
- elasticsearch-JS. Клиентская библиотека javascript