第0回Solr実習ワークショップ @ 米国インディアナポリス #c4l11jp #solr

まさかのフライトキャンセルでインディアナポリスに足止めされた1日をつかって、Solrワークショップを緊急開催。
c4ljp Solr c4l11jp c4l11 code4lib
2412view 0コメント
2
Masao Takaku @tmasao
つうわけでフライトキャンセルにつき空港で仕事でもするか。。。いっそ、ここでSolrワークショップでも開催するか?> @yegusa
Kosuke Tanabe @nabeta
というわけで、足止めを食ったぼくたちは、空き時間を使ってSolrの使い方を勉強することにしました #c4l11jp
Masao Takaku @tmasao
Solr実習はまずはチュートリアルを読むところから... http://lucene.apache.org/solr/tutorial.html #c4l11jp
Yuka Egusa @yegusa
まずは、Solrの入手から。最新バージョンは1.4.1 #c4l11jp
Masao Takaku @tmasao
とりあえずはネットワークが遅いようなのでローカルのWindows上でテストする。ダウンロードしてきたSolrを展開し、Java 1.6以上のバージョンが入っていることを確認した。 #c4l11jp
Yuka Egusa @yegusa
解凍に結構時間かかるのね。まだ、解凍してる。。。 #c4l11jp
Masao Takaku @tmasao
exampleフォルダに移動して java -jar start.jar を起動。Windowsファイアウォールのアクセスを許可にOkして、Solrサーバの起動が完了。 http://localhost:8983/solr/ にて管理画面が開くことを確認。 #c4l11jp
Yuka Egusa @yegusa
おかしい、最初っからこける。なんでログフォルダの書き込みができない?なぜ、読み込み専用になってるのこのフォルダ。。。 #c4l11jp
Yuka Egusa @yegusa
そもそも、解凍するところからつまずく。ありがちな展開。。。しょうがないので、7-zipのインストールから。でもそういえば、cygwinにtarで解凍できるんじゃんということに気づく。。。 #c4l11jp
Yuka Egusa @yegusa
あとは、チュートリアル通りにすすむ。 cd example, java -jar start.jar, http://localhost:8983/をみる #c4l11jp
Masao Takaku @tmasao
example/exampledocsディレクトリ下で、java -jar post.jar *.xml などとしてXMLファイルをインデックスするテスト。 #c4l11jp
Masao Takaku @tmasao
管理画面のインタフェースから検索ができる。 http://bit.ly/hVgRnA 検索結果はXMLでかえってくるのでそのまま適当なクライアントプログラムから扱える。 #c4l11jp
Yuka Egusa @yegusa
ここからは、メモるの大変だな。。。データの登録をやってみている。cd exampledocs; java -jar post.jar monitor.xml ってかんじで登録する #c4l11jp
Masao Takaku @tmasao
登録された文書のXMLデータ(*.xml)の中身をみると、追加・コミットなどのSolrへの投入指定用の要素と、各文書ごとにフィールド定義+テキスト情報がはいっていることがわかる。 #c4l11jp
Yuka Egusa @yegusa
example/solr/conf/schema.xml でスキーマを設定する。データ型とかテキスト型とかブーリアン型とかを設定できる。 #c4l11jp
Masao Takaku @tmasao
入力データの処理の概要を知るために、Solrインデックスのスキーマ定義:example/solr/conf/schema.xmlを見てみる。数値・日付等に加えて、テキスト型の索引処理方式(analyzer:分かち書き、filter:ストップワード)も指定可能。 #c4l11jp
Masao Takaku @tmasao
schema.xml にはデータ型を指定する types 要素に加えて、入力データのフィールドごとのデータ型や索引方式を指定する fields 要素がある。 #c4l11jp
Masao Takaku @tmasao
schema.xml中にて、field要素の indexed 属性にて索引付けするかどうか、stored 属性でその項目の値そのものをインデックスに保持するかどうかを指定可能。 #c4l11jp
Yuka Egusa @yegusa
ただいま、Query構文についてやっています。後方一致を実現するのはちょいと面倒らしい #c4l11jp
Masao Takaku @tmasao
http://bit.ly/fuhc86 http://bit.ly/e4rvHH クエリ書式はLuceneのものを基本として、Solr独自の拡張が追加されている。 #c4l11jp
Masao Takaku @tmasao
注意が必要なのは、Date型はDateTimeまで完全形式で指定する必要があるため、単純な日付形式(2011-02-07 等)での検索はできない。アプリケーション側で工夫する必要がある。 #c4l11jp
Masao Takaku @tmasao
Lucene以来、後方一致検索は標準では対応していないので、デフォルトの schema.xml の text_rev フィールド定義にあるような指定したフィールドとして指定しておく必要がある。 #c4l11jp
Masao Takaku @tmasao
日本語データの検索には標準装備のCJKAnalyzer(bigram)設定を追加。textフィールド型に<analyzer type="index" class="org.apache.lucene.analysis.cjk.CJKAnalyzer">とする。 #c4l11jp
Masao Takaku @tmasao
Solrサーバを再起動したうえで、管理画面のAnalyseから分かち書きされることを確認する。日本語データをためしに作ってみて、post.jarでインデックスし直すして、管理画面から検索ヒットするのを確認! #c4l11jp
残りを読む(12)

コメント

ログインして広告を非表示にする
ログインして広告を非表示にする