ページ

2011年11月17日

Solr始めました その1

最近、Solrで遊んでいます。Solrと言うのは、Luceneをベースに全文検索機能や分散処理、フェイルオーバーとなどの機能を提供してくれるはずです。Luceneで検索システムを作り込んでいくと、ある規模に達するとSolrが提供してくれているような機能が必要になってきます。それらを自分たちで作り込んでもいいのですが、それは単にSolrの再発明に他なりません。と言うことで、Solrの検討に入りました。

何はともあれ、第一印象としては、「わかんね〜」。Solrのトップページはそれなりすごいことを書いていますが、体系立てたドキュメントがありません。すべてを網羅されているようにも見えません。日本語のドキュメントがないのは別にどうでもいいのですが、英語のドキュメントも少ないです。僕はApacheのプロジェクトはドキュメントがしっかりしているっていう印象も持っていたので、残念です。さらにLuceneでは、自分に必要そうなドキュメントはすぐに見つけられましたが、Luceneの子供のSolrはまだ、ちゃんとしていません。成長期だから仕方ないのです。

さて、わかんないもはわかんないなりに少しづつ始めます。とりあえず、チュートリアルです。これを参考に触ってみましょう。

公式サイトからSolrのパッケージをダウンロードします。パッケージの直下は
CHANGES.txt  NOTICE.txt  client   dist  example
LICENSE.txt  README.txt  contrib  docs
となっています。とりあえず、今回はexampleのディレクトリで作業します。これは、exampleというよりskeltonのような気がします。とりあえず、java -jar start.jarでsolrを起動します。チュートリアル通りexampledocsのディレクトリに行ってjava -jar post.jar *.xmlでサンプルのドキュメントを登録します。xmlやjsonなど、いろいろな形式でサーバとお喋りするようです。

次に http://localhost:8983/solr/admin/ をブラウザで開きます。検索画面が表示されます。統計情報へのリンクや、schemaやconfigへのリンクがあります。schemaやconfigはXMLが表示されるだけです。

schemaの中を見ていると、大きく分けてフィールドのタイプ定義とフィールドの定義があります。Luceneは基本的にスキーマ構造はいい加減(ドキュメントごとに設定できる)でしたが、Solrはある程度スキーマ構造を定義した堅物です。実際には、動的フィールドやフィールド値のコピーができるので、ある程度の柔軟性は持っています。

configの方法は、highlighterの設定やいろいろなhandlerの設定などSolrに関わるschema以外の設定が記述されています。そして、ここはカオスです。まともなドキュメントを僕はまだ、見つけられずにいます。分かる人にはこれだけでも十分分かるのかもしれませんが、僕にはまだ、無理でした。

Javaは難しいです。クラスタリングへの道はまだまだ遠い。

と言うことで、ここから先、設定を変更しながら自分に必要そうな設定を試行錯誤していくのはまた今度。


でわでわ

0 件のコメント: