1

我正在使用 logstash+elasticsearch 来索引服务器日志。Elasticsearch 服务器在 localhost:9200 运行,包含数百万个服务器日志文档。我还有一个在 localhost:3000 运行的 Rails 应用程序。我需要将此 rails 应用程序连接到 ES 服务器。

我已经阅读了有关“elasticsearch-rails”gem 的信息,但是我在任何地方都使用 ActiveRecords/Models 找到了它们。但是,我认为这不需要 ActiveRecords。我只需要一种方法来查询 ES 服务器索引并在我的 Rails 应用程序中获取文档。

有没有办法做到这一点?任何人都可以帮我解决这种情况吗?如果我不清楚我的问题,请发表评论。

提前致谢。

4

1 回答 1

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">, ...]
...    
于 2015-07-21T12:25:15.860 回答