1

サーバー ログのインデックス作成に、logstash+elasticsearch を使用しています。Elasticsearch サーバーは localhost:9200 で実行されており、何百万ものサーバー ログ ドキュメントがあります。Rails アプリも localhost:3000 で実行しています。この Rails アプリを ES サーバーに接続する必要があります。

「elasticsearch-rails」gem について読んだことがありますが、どこでも ActiveRecords/Models を使用して見つけました。ただし、これには ActiveRecords は必要ないと思います。ES サーバーのインデックスにクエリを実行し、Rails アプリ内のドキュメントをフェッチする方法が必要なだけです。

これを行う方法はありますか?誰でもこの状況で私を助けてもらえますか? 私の質問がはっきりしない場合はコメントしてください。

前もって感謝します。

4

1 に答える 1

0

そこには多くのソリューションがありますが、際立っているのは (たとえば) Elasticsearch API とほぼ一致する非常に単純な API を提供するStretcherです。

例えば:

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 に答える