Weitere ähnliche Inhalte Ähnlich wie Solr meeting in Japan 2011 Ähnlich wie 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