我使用logstash + elasticsearch索引服务器日志。 Elasticsearch服务器在localhost:9200上运行,具有数百万个服务器日志文档。 我还有一个运行在localhost:3000的Rails应用程序。我需要将此rails应用程序连接到ES服务器。
我已经读过" elasticsearch-rails"宝石,但无处不在,我发现他们使用ActiveRecords / Models。但是,我不认为ActiveRecords是必需的。我只需要一种方法来查询ES服务器索引并获取我的Rails应用程序中的文档。
有办法做到这一点吗?任何人都可以帮我解决这个问题吗?如果我不清楚我的问题,请发表评论。
提前致谢。
答案 0 :(得分:0)
有许多解决方案,但最突出的是(例如)Stretcher,它提供了一个非常简单的API,与Elasticsearch API紧密匹配。
例如:
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">, ...]
...