Приложение Connect Rails к серверу Elasticsearch
Я использую logstash+asticsearch для индексации журналов сервера. Сервер Elasticsearch работает на локальном хосте:9200 с миллионами документов журнала сервера. У меня также есть приложение Rails, работающее на localhost:3000. Мне нужно подключить это приложение rails к серверу ES.
Я читал о драгоценном камне "asticsearch-rails", но везде я нашел их, используя ActiveRecords/ Models. Однако я не думаю, что ActiveRecords необходимы для этого. Мне просто нужен способ запросить индекс сервера ES и получить документы в моем приложении Rails.
Есть ли способ сделать это? Может кто-нибудь помочь мне с этой ситуацией? пожалуйста, прокомментируйте, если мне не понятен мой вопрос.
Заранее спасибо.
1 ответ
Существует много решений, но одно из них - это, например, Stretcher, который предоставляет очень простой API, который близко соответствует API Elasticsearch.
Например:
server = Stretcher::Server.new('http://localhost:9200')
res = server.index(:myindex).search(size: 10, query: {match_all: {}})
# res is of type Stretcher::SearchResults
res.total # => 10
res.documents # => [#<Hashie::Mash _id="4" text="Hello 4">, ...]
...