LoginSignup
7
8

More than 5 years have passed since last update.

solr の CoreAdmin API について

Last updated at Posted at 2015-07-11

CoreAdmin API はどういう動きをするのかマニュアルを見てもよくわからんところがあるので、調べてみました。

注意: Solr 4 の時代のものです。Solr 5 系から改善されているかもしれません。

STATUS

各コアごとのインスタンスディレクトリなど様々な情報を返してくれます。

CREATE

コアの作成を行うAPI です。このAPI 仕様はなかなか香ばしい実装になっている。

http://localhost:8983/solr/admin/cores?action=CREATE&name=coreX&instanceDir=path_to_instance_directory&config=config_file_name.xml&schema=schema_file_name.xml&dataDir=data

上のような感じで叩くそうだが、api にパラメータを渡してコアを作成するのではなく、サーバー上にある設定ファイルへのパスを指定して作成するそうだ。

これはいけてなさすぎる。使用するとしたらサーバーの設定に深く依存しないようにするために STATUS を取得する API からに入っている instanceDir などを利用して作成したほうがいいのかもしれない。私はそもそもこのAPIを使うことを諦めてしまった。

RENAME

そのまま。コアの名前を変える。すでに存在するコア名を指定したら、コアが上書きされるものの、datadir は上書きしたものと同じになる、という挙動をする(つまり SWAP したあとに UNLOAD したのと同じ)

MERGE

インデックスを統合します。重複チェックは行われていないようで、同じコアに2回マージするとドキュメント数が倍になります。

データに対する操作なので、レプリケーションでスレーブにも同期されます。

データを反映させるのは commit する必要があります。

SWAP

指定したコア同士でdatadir をすり替えます。すり替える際はリクエストを捌くのを止めることなく、切り替えることができるます。

SWAP は API を実行したサーバーのみで反映され、スレーブでは SWAP を実行しません。ただスレイブからはマスターのすべてのデータが入れ替わったように見えるので、swap を行ったコアについてすべてのデータをマスターからスレイブに対して転送されます。

注意点はこの SWAP を実行しても状態が変化したただけで Solr の設定ファイルも一緒に変化したわけではないので、SWAP 後に Solr を restart すると SWAP する前の状態に戻ります。(これ怖い・・。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8