ストリーム リクエスト ハンドラー API
/stream
リクエスト ハンドラーは、ストリーミング式を実行するだけでなく、利用可能な式の検索や登録済みのデーモン プロセスの動作制御を可能にします。
この API は v2 API の構造に従っていません。 |
プラグイン: 登録済みのすべての式のリスト
使用可能なすべての登録済みのストリーミング式をリストします。これには、StreamHandler によって登録された既定の式と、あなたが登録したものも含まれます。
/stream?action=PLUGINS
プラグインを使用した例
入力
https://127.0.0.1:8983/solr/gettingstarted/stream?action=PLUGINS
出力
{
"plugins":{
"enumeratedDistribution":"org.apache.solr.client.solrj.io.eval.EnumeratedDistributionEvaluator",
"year":"org.apache.solr.client.solrj.io.eval.TemporalEvaluatorYear",
"lteq":"org.apache.solr.client.solrj.io.eval.LessThanEqualToEvaluator",
"upper":"org.apache.solr.client.solrj.io.eval.UpperEvaluator",
"commit":"org.apache.solr.client.solrj.io.stream.CommitStream",
"echo":"org.apache.solr.client.solrj.io.stream.EchoStream"
}}
リスト: デーモン プロセスをリスト
この daemon
関数を使用すると、ストリーミング式をラップして一定間隔で実行し、継続的なプッシュとプルの両方のストリーミングを提供できます。このコマンドは、現在実行中のすべてのデーモン プロセスをリストします。
/stream?action=LIST
このコマンドは、あなたがやり取りしている特定のコアに登録されたすべてのデーモン プロセスをリストし、コレクション全体ではなくそのコアをリストします。複数のシャードまたはそれらのシャードの複数のレプリカからなるコレクションがある場合、各 LIST コマンドはコア間でバウンスし、異なるプロセス リストを返します。デーモン プロセスを管理するには、デーモン プロセスをホストするために単一のコアとレプリカなしでコレクションを作成し、単一のビューを確保することをお勧めします。 |
LIST を使用した例
これは、下記の単純な例と同様にデーモン プロセスを登録していることを想定しています。この例は、gettingstarted
コレクションからランダムなドキュメントを 1 つ読み取り、10 秒ごとに同じコレクションに書き戻します。
daemon(
id="12345",
runInterval="10000",
update(gettingstarted,
random(gettingstarted,
q="*:*",
rows="1"
)
)
)
入力
https://127.0.0.1:8983/solr/gettingstarted/stream?action=LIST
出力
{
"result-set":{
"docs":[{
"startTime":1582820357008,
"stopTime":0,
"id":"12345",
"state":"TIMED_WAITING",
"iterations":421}
,{
"EOF":true}]}}
これは、ID 12345 で実行されている単一のデーモン プロセスと、それが 421 回実行されていることを示しています。各プロセスは https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Thread.html であり、状態はスレッドの状態です。