元データ分析の会社で働いていた人の四方山話スマートフォン用の表示で見る元データ分析の会社で働いていた人の四方山話この広告は、90日以上更新していないブログに表示しています。同じ部署の方の発案でLuceneソースコードリーディングが開催される運びとなり、ノリで参加を表明してしまいました。検索まわりは全く素人なわけですが、これを機会に色々と学んでい効果と思います。検索エンジンまわりの話をつかむ元同僚、現ピーFIの@takahi-iさんがお書きになった文章が概要をつかむのにうってつけでした。@ITこちらもわかりやすかったですね。TECHSCORE(テックスコア)ちなみに、この段階での私の検索エンジンの理解度はお恥ずかしながらLuceneとSolrの違いをようやく理解できました。Hatenaという感じでした。Lucene-gosenなどの形態素解析のライブラリがある。Luceneのdemoを動かす説明を長々と読んでいてもイメージがわかないので実際に動かしてみます。Walk-throughこのデモで、Luceneを使って適当なファイルをインデックスして、検索ができるまでを体験できます。コードをとってくる正確にはdemo用のjarファイルが欲しいだけですが。ここからなどで取得すればよいかと思います。解凍した後のディレクトリにあるlucene-core-3.5.jar(直下にある)contrib/demo/lucene-demo-3.5.0.jarへクラスパスを通しておきます。以後作業はLuceneのディレクトリ直下で行います。(インデックスしたいファイル群のあるディレクトリ)自分の場合は、Luceneのソースが含まれているものを別に落としてきて、それをインデックスしてみます。millisecondsおお、何やらもりもりとaddingされています。これでインデックス作成は完了のようで、同じ場所にindexというディレクトリが作成されているのが確認できます。org.apache.lucene.demo.SearchFilesと実行すると、queryを要求されるプロンプトが起動します。page."hoge"はヒットせず、"test"は299ファイルがマッチして、先頭の10件が表示されていることがわかります。いうわけで、demoを動かして、ベーシックな検索機能が実現できることが確認できました。インデックスを作成する機能クエリとインデックスを照らしあわせて検索結果を返す機能ヒットした検索結果をなんらかの仕組みにしたがってランキング付けしている機能なんかがあるんだろうなぁと妄想できます。次はdemoのコードを読んでみて、各クラスの役割をざっくりと調べてソースコードリーディングする箇所を決めていきたいと思います。Entriesはてなブログをはじめよう!rindai87さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。