web-dev-qa-db-ja.com

elasticsearchでパーコレーターはどういう意味ですか?

Elasticsearchのドキュメントを読んで、パーコレーターとは何かを理解しても。私はまだそれが何を意味するのか、それがどこで使われているのかを簡単な言葉で理解するのに苦労しています。誰も私に詳細を提供できますか?

63
Hossein

通常、ドキュメントのインデックスを作成し、クエリを実行してドキュメントを取得します。パーコレーターで簡単にできることは、クエリにインデックスを付け、インデックス付きクエリに対してドキュメントをパーコレートして、一致するクエリを知ることです。また、逆検索とも呼ばれます。あなたがすることは、あなたが慣れ親しんでいることの反対ですから。

パーコレーターにはさまざまなユースケースがあります。最初のユースケースは、適切なコンテンツが届くとすぐに適切なユーザーに送信するためにユーザーの関心を格納するプラットフォームです。

たとえば、ユーザーは特定のトピックにサブスクライブし、そのトピックの新しい記事が届くとすぐに、関心のあるユーザーに通知が送信されます。 query DSL を使用して、ユーザーの関心をelasticsearchクエリとして表現し、それをドキュメントであるとしてelasticsearchに登録できます。インデックスを作成する必要なく、新しい記事が発行されるたびに、記事をパーコレートして、どのユーザーがその記事に興味を持っているかを知ることができます。この時点で、誰が記事リンクを含む通知を受信する必要があるかがわかります(ただし、通知の送信はelasticsearchによって行われません)。追加の手順は、コンテンツ自体のインデックス作成でもありますが、必須ではありません。

このプレゼンテーション を見て、elasticsearch 1.0以降のパーコレーターと組み合わせて使用​​できる他のカップルのユースケースやその他の機能を確認してください。

99
javanna

簡単に言うと、percolatorは次のことを行います。

ユーザー:やあパーコレーター!どうすれば手伝ってくれる?

パーコレーター: Haiユーザー!私はあなたがあなたの興味のアラートを得るのを手伝うことができます。

ユーザー:それは素晴らしい!次に何をすべきですか?

Percolator: Elasticsearchでインデックス化されたクエリの形式であなたの興味を教えてください。

ユーザー:私はすべての興味をクエリとして用意し、それらをElasticsearchにインデックス付けしました。簡単ですか?

パーコレーター:はい!とても簡単です!すべての受信ドキュメントを監視し、興味のある(クエリ)のいずれかと一致するドキュメントがある場合は返信します!

ユーザー:それは素晴らしい!私は興味があり、どのドキュメントが私の興味と一致するかをどのように把握できるか知りたいです。

パーコレーター:それはいい質問です!その答えは非常に簡単です! Elasticsearchへのクエリとしてあなたの興味を索引付けしましたか?私はそれらを使用し、すべての(正確ではないが、単純にするためにすべてを想定して)着信ドキュメントに対してクエリを実行します(これらのドキュメントはインデックス付けする必要がなく、パーコレーションのために送信できます!)。実際、このプロセスはパーコレーションと呼ばれています!いずれかのドキュメントがクエリのいずれかと一致する場合、その結果をクライアントに送信します(それもあなたかもしれません)!

18
avr