Подтвердить что ты не робот

Как получить эластичный поиск, чтобы играть с MongoDb и node.js?

Я новичок в mongodb и node.js, но недавно получил все, чтобы хорошо работать для меня, пока не дошел до того, что мне нужно было добавить полный текстовый поиск на мой сайт. Из моих исследований я понял, что Elasticsearch будет хорошо подгоняться, но я не мог точно понять, как заставить его работать с node.js и mongodb. В настоящее время я использую Heroku и MongoLab для размещения моего приложения. Вот мои вопросы.

  • Как разместить Elasticsearch?
  • Как сделать все мои данные монго доступными для elasticsearch, я использую реку или вручную вставляю и удаляю все данные?

    Я нашел что-то такое river, но я не совсем уверен, как сделать это автоматически и где его размещать.

  • Как мне выполнить запрос Elasticsearch с node.js? Есть ли пакет, который позволяет это?

Edit:

Вопрос 2 - это то, с чем я борюсь. Я также включил вопросы 1 и 3, чтобы помочь людям, которые новичок в этой теме и приходят из Google.

4b9b3361

Ответ 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