Más contenido relacionado La actualidad más candente (19) Similar a Solr meeting in Japan 2011 (20) Solr meeting in Japan 20114. (少々緊急)タスク
緊急)
今利用されている内製検索エンジンを (メインテナンスしやすい)
OSS に移行
今までに
Apache Solr を選択!
インストール,運用を容易にするパッケージ Anuenue
(アヌエヌエ) を作成
URL: http://code.google.com/p/anuenue-wrapper/
4
5. 作成したのか
なぜ Anuenue を作成したのか
Solrの分散インストール / 運用はちょっと面倒
インスタンスごとに個別の設定が必要
クラスタ用のコマンドが提供されていない (最近できた?)
• クライアントプログラムを自作する必要がある
参考: Hadoop にはクラスタに対するコマンドが提供されている
• 起動・終了 start-all.sh / stop-all.sh
• ユーティリティ fsck (check all discs), balancer
(rebalance the data blocks)
5
6. 提供する
する機能
Anuenue が提供する機能
検索クラスタの簡単設定
クラスタ用コマンド
インデクスを変更 (post, delete, update, commit etc)
クラスタの起動,終了
日本語サポート
もしかして検索用のハンドラ
日本語トークナイザ
6
11. ロール:
ロール Slave
三つの機能を持つ
Merger-1
インデクスを Master か
らコピー クエリ転送
Merger から転送された
クエリを受理し,自身の Slave-1 Slave-2
インデクスを検索する
インデクスのコピー
結果を Merger に返す
Master-1 Master-2
インデクス作成
Input Data
11
12. ロール:
ロール Merger
クライアントからのクエリを
Slave に転送 Client-1 Client-2
注: クライアントは
slave インスタンスにつ クエリを発行
いて知らなくてよい
(Merger が Slave 情 Merger
報を含む ‘shard’ パラ
クエリの転送
メタを生成する)
Slave が返した結果をマー
Slave-1 Slave-2
ジしクライアントに返す
12
13. 例: Anuenue クラスタ
五つの Anuenue インスタ Client-1 Client-2
ンスからなる
Merger: aa aa
Master: bb, cc クエリ転送
Slave: dd, ee
cc dd
インデクスコピー
bb ee
インデクス作成
Input Data
13
15. 設定例
計算機 aa の port 7000 を利用している Solr インスタン
スを Merger として登録
<mergers>
<merger>
<host>aa</host>
<port>7000</port>
</merger>
</mergers>
15
16. インデクスのレプリケーション設定
インデクスのレプリケーション設定
<masters>
<master iname=“master1”>
<host>aaaa</host>
<port>8983</port>
</master> Master インスタンスに名前
</masters> (iname) を付与
<slaves>
<slave >
<host>bbbb</host>
<port>8983</port>
<replicate>master1</replicate>
</slave>
コピーするインデクスを持つ
</slaves>
Master インスタンスを
replicate 要素で追加
16
17. クラスタ設定
例:クラスタ設定
クラスタ
<mergers> Client-1 Client-2
<merger>
<host>aa</host>
<port>8983</port>
</merger> aa
</mergers>
<masters> クエリ転送
<master iname=“master1”>
<host>bb</host> cc
<port>8983</port>
</master> インデクスのコ
</masters> ピー
<slaves> bb
<slave>
<host>cc</host> インデクス作成
<port>8983</port>
<replicate>master1</replicate>
</slave> Input Data
</slaves>
17
18. いたクラスタ
クラスタ設定
Anuenue を用いたクラスタ設定
多様なクラスタを作成できる
たとえば…
18
19. 複数のロールを
複数のロールを付与
Client1 Client2
Submit queries
instance
Index input data
Input Data
19
20. 高いQPSに対処するための大規模なクラスタを
QPSに対処するための大規模なクラスタを
するための大規模
作成
Client1 Client2 Client3 … ClientN
Merger1 Merger2 Merger3
Slave1 Slave2 Slave3 Slave4 Slave5 Slave6
Master1 Master2 Master3 Master4 Master5 Master6
Input Data
20
21. Slave グループ
Anuenue はひとつ以 Client-1 Client-1
上のSlave グループ
を持つことができる
Merger
各グループは同一の
shard インデクスを持
グループ 1 グループ 2
つ
Merger はランダムに Slave1 Slave2 Slave3 Slave4
グループ選択,クエリ
を転送する
Master1 Master2
Input Data
21
29. 終わりに(CM)
わりに( )
Hadoop 上で動作するツールも公開
Likelike (リケリケ)
• Locality Sensitive Hashing の壱実装
• 推薦エンジン
• URL: http://code.google.com/p/likelike/
Oluolu (オルオル)
• クエリログマイニングツール
• もしかして検索で利用可能な辞書を抽出
• URL: http://code.google.com/p/oluolu/
29