カテゴリー: テクノロジー

[Solr]コレクションのコロケーション

はじめに

Solr にはコレクションのコロケーションの機能があります。
この機能はコレクションを跨いだJOINのために必要なものです。

コレクション作成時の指定

コレクション作成APIでwithCollectionパラメータを指定できます。
たとえば以下のリクエストでコレクションc1と同じ場所にコレクションc2を作成します。

/admin/collections?action=CREATE&name=c2&numShards=1&replicationFactor=2&withCollection=c1

ここでいう「同じ場所に」というのは、c1のレプリカが存在するいずれかのSolrノードと同じノード上に、という意味です。

既存のコレクションのコロケーション

コレクション変更APIもwithCollectionパラメータをサポートします。
たとえば以下のようなリクエストです。

/admin/collections?action=MODIFYCOLLECTION&collection=c3&withCollection=c1

ただし、この変更は自動的にはクラスタに反映されません。
多数のレプリカを直ちに移動させ始めるとシステムが不安定になる恐れがあるからです。
このリクエスト実行後に手動でどのようにクラスタを変更させるべきかを知るために、Solr Admin UI の Suggestion ページを利用できます。

コロケーション指定されたコレクションの削除

コロケーションのリンク付けをされたコレクションを削除する場合、先にコレクション変更APIでwithCollection属性を解除しておく必要があります。

/admin/collections?action=MODIFYCOLLECTION&collection=c2&withCollection=

注意事項

  • 1つのコレクションに対してwithCollectionでコロケーション指定できるコレクションは1つだけです。ただしwithCollectionによるリンクを繋げることで任意の数のコレクションをコロケーションさせることができます。
  • withCollection 指定するコレクションが持つシャードは1つだけで、かつその名前は shard1 でなければなりません。

Solrの記事リスト(〜2022年1月)

Prometheus連携

パッケージ管理

JSON Request API

Docket

日付表現

SolrCloudのリーダー選出

SolrCloud

インデックス作成

検索

Solrプロジェクト

その他

ワイヤレス充電器を買ってみた

こんにちは。

先日Amazonでセールをしていたので、Ankerのワイヤレス充電器を買ってみました🙌
以前から興味はあったものの、なかなか手を出せていなかったワイヤレス充電器。
値段はセールで1,200円!安いぞ!!
https://www.amazon.co.jp/dp/B07TJ1CRLF/

私が今使用しているiPhoneはiPhone 11Proなので、ワイヤレス充電に対応しています。
iPhoneだとiPhone 8以降が対応しているようですね。結構前の機種から使えることを今さら知りました。
https://support.apple.com/ja-jp/HT208078

使い方は、簡単 of 簡単😎
充電器本体にケーブルを挿して、iPhoneを本体の上に乗せるだけです。
充電器本体横に小さな青いランプが付けば充電中となります。すごい時代になったもんだ(遅い

あと、Ankerのワイヤレスイヤホンも持っていまして、そちらもワイヤレス充電対応だったので試してみました。
ほんとに置くだけで充電開始します。

買うのを躊躇っていた理由のひとつとして「充電スピードの遅さ」が気になっていました。
実際に充電した感想はというと…

「全然気にならんやん。。!」

バッテーリー残量20%からほぼ満タンになるまで約2時間半ぐらい。机の上にぽんと置いて仕事しているといつの間にか充電が完了してる感じです。
ただ説明にも記載のあるように、「Apple製スマートフォンに付属の充電器(5V/1A出力)には対応していない」ので、iPhoneシリーズで高速なワイヤレス充電を実現するためには、QC 2.0 / 3.0対応充電器を使用する必要があるようです。
↓多分このへんのやつ
https://www.amazon.co.jp/dp/B078RQ4FDC/

私の場合はすでに対応の充電器を持っていたので、特にそのあたりは気にすることなく使用できてるのだと思います。高速ワイヤレス充電バンザイ🙌

あ、ひとつデメリットがあるとしたら、充電器の表面がゴム製になっていてめちゃくちゃホコリが付きやすいのが嫌です(笑)充電中に滑らないようにするためだと思いますが、ホコリが嫌いな私にとってはめっちゃ気になるところでした😇気になったときに拭けば取れるのでいいですが、気になる人はご注意を。。(ホワイトの本体色を買うという手もあります)

それでは、みなさんも快適なワイヤレス生活を〜!

[Solr]bin/solr スクリプトの使い方(ZooKeeper編)

bin/solr の使い方で ZooKeeper に関連する部分です。
Solr リファレンスの該当部分の抄訳です。

ZooKeeper 操作

アップロード

bin/solr zk upconfig
configset のアップロード

-n <name>
ZooKeeper 上に置く設定名
-d <configset dir>
configset のあるディレクトリ
-z <zkHost>
ZooKeeper の接続先

ダウンロード

bin/solr zk downconfig
configset のダウンロード

-n <name>
ZooKeeper 上にある設定名
-d <configset dir>
ダウンロードした configset を置くディレクトリ
-z <zkHost>
ZooKeeper の接続先

コピー

bin/solr zk cp
ファイル単位のコピー

-r
再帰的なコピー
<src>
コピー元
<dest>
コピー先
-z <zkHost>
ZooKeeper の接続先

削除

bin/solr zk rm
znode の削除

-r
再帰的な削除
<path>
削除対象のパス
-z <zkHost>
ZooKeeper の接続先

移動

bin/solr zk mv
znode の移動

<src>
移動元
<dest>
移動先
-z <zkHost>
ZooKeeper の接続先

ノードの表示

bin/solr zk ls
子ノードの表示

-r
再帰的な表示
<path>
表示対象の親ノードのパス
-z <zkHost>
ZooKeeper の接続先

ノード作成

bin/solr zk mkroot
znode 作成

<path>
作成するパス
-z <zkHost>
ZooKeeper の接続先

[Solr]bin/solr スクリプトの使い方(システム操作編)

bin/solr スクリプトは意外と多機能です。

Solrリファレンスの該当箇所を抄訳してみました。

起動・再起動・停止

起動と再起動

bin/solr start [options]
bin/solr restart [options]

-a “<string>”
JVMパラメータを指定する
-cloud (-c)
SolrCloud モードで起動
-d <dir>
サーバディレクトリを指定する(デフォルト: $SOLR_HOME/server)
-f
フォアグラウンドで起動する
-h <hostname>
ホスト名を指定して起動する。指定しない場合は ‘localhost’
-m memory
ヒープサイズを指定する
-noprompt
例えば -e オプションを指定したときなど、起動時のプロンプトを抑制してデフォルト値を指定したことにする。
-p <port>
ポートを指定する。省略した場合は ‘8983’
-s <dir>
システムプロパティ solr.solr.home を設定する。
-v
Solrのログ出力を増やす。ログレベルがINFOからDEBUGに変更される。
-q
Solrのログ出力を抑制する。ログレベルがINFOからWARNに変更される。
-V
起動スクリプトのログ出力を増やす。
-z <zkHost>
ZooKeeper 用の接続文字列を定義する。
-force
rootユーザで強制的に起動する場合に指定する。

設定例を利用した起動

bin/solr start -e

cloud
同じマシン上で動く複数のノードを使ったSolrCloudクラスタを起動する
techproducts
$SOLR_HOME/example/exampledocs にあるサンプルドキュメントに合わせたスキーマを使ってスタンドアローンモードで起動する
dih
DataImportHandlerの仕様例をスタンドアローンモードで起動する
schemaless
スキーマレスモードの例をスタンドアローンモードで起動する

停止

bin/solr stop [options]
-p <port>
停止するSolrプロセスを、利用しているポート番号で指定する。
-all
稼働中のSolrプロセスをすべて停止する。
-k <key>
間違えて停止しないように、キーを指定する。
(起動時に -DSTOP.KEY で設定したキーを指定する)

システム情報

bin/solr version
Solr のバージョンを表示する
bin/solr status
稼働中の Solr インスタンスの状態を表示する

アサート

bin/solr assert
Solr のインストール状態について調べる。

-c, –cloud <url>
-C, –not-cloud <url>
Solr が cloud モードで動作しているかどうか

-e, –exitcode <exitcode>
エラーの場合に指定した exitcode で終了する
-m, –message <message>
エラーの場合に指定したメッセージを出力する

-R, –not-root
-r, –root
このユーザがrootかどうか

-S, –not-started <url>
-s, –started <url>
Solr が指定されたURLで稼働中かどうか

-t, –timeout <ms>
指定した時間内にタイムアウトするかどうか

-u, –same-user <directory>
このユーザと指定したディレクトリの所有者が同じかどうか

-x, –exists <directory>
-X, –not-exists <directory>
指定したディレクトリが存在するかどうか

ヘルスチェック

bin/solr healthcheck [options]
Solr の稼働状態をレポートする

-c
コレクション名
-z
ZooKeeperの接続先

コレクションとコア

生成

bin/solr create [options]
コレクションやコアの生成
-c <name>
コレクション・コア名
-d <confdir>
設定のあるディレクトリ
-n <configName>
設定名
-p <port>
Solr のポート番号
-s , -shards <shards>
シャード数
-rf , -replicationFactor <replicas>
コレクション内のレプリカ数
-force
rootユーザによる実行(通常は何もせず警告を出して終了する)を強行する

削除

bin/solr delete [options]
コレクションやコアの削除
-c <name>
コレクション・コア名
-deleteConfig
同時に ZooKeeper から設定も削除する
-p
Solr のポート番号

認証

bin/solr auth enable
BASIC認証を有効にする

-credentials
username:password の形式でユーザとパスワードを指定
-prompt
プロンプトを表示してユーザとパスワードを入力する場合に true を指定
-blockUnknown
true を指定すると、未認証のユーザからのすべてのアクセスをブロックする
-z
ZooKeeper の接続先
-d
Solr のサーバディレクトリ
-s
solr.solr.home の場所(デフォルトは server/solr)

bin/solr auth disable
BASIC認証を無効にする

ドキュメントのエクスポート

bin/solr export [options]
コレクション内のドキュメントをエクスポートする

-url <url>
対象とするコレクションのURL
format
出力フォーマット(jsonl(デフォルト),javabin)
out
出力ファイル名
query
出力対象を指定するクエリ(デフォルト:)
fields
出力対象のフィールド名(カンマ区切り)
limit
出力する件数