僕が全文検索システムを作るときに使っている方法は、 Senでテキストを形態素に分解して、FULLTEXTインデックスを張ったMySQLのMyISAMテーブルに突っ込む。 LuceneにJapaneseAnalyzer(Sen)を組み合わせて使う。 のどちらかです。MySQL+FULLTEXTよりLuceneの方が高パフォーマンスなので最近はLuceneばかり使ってますが、いずれにしてもSenによる形態素解析処理が必要になります。 N-gramではなく形態素解析を選ぶ以上、多少の検索漏れの発生は我慢しないといけない訳ですが、「さすがにそれはまずいだろ」と思っていることがあるので書きます。それは未知語の扱いです。 Senの場合(他の形態素解析エンジンでも同様だと思いますが)、辞書にない語句入力が長々と続いた場合に、その語句群全体を1つの未知語として切り出します。この結果を素直に全文インデックス
関口宏司さんのLuceneブログによると、 Lucene 2.2がリリースされ、 ペイロードをつけることができるようになったようだ。 Lucene 2.2のリリース | 関口宏司のLuceneブログ 記事から名詞だけを取り出す | 関口宏司のLuceneブログ 人名がヒットしたときはスコアを上げる | 関口宏司のLuceneブログ ペイロードを使ってのスコア操作についても 実例を挙げて説明している。面白い。 Senの品詞情報や読み情報を利用した検索・スコアリングは 夢が広がりまくりんぐな感じ。 んで、Lucene 2.2でついたペイロード以外の機能も調べてみた。 Luceneの知識は適当なので、間違っていたら訂正・突っ込み求む。 point-in-time機能 インデックスを読み込むIndexReaderクラスと インデックスを用いて検索を行うIndexSearcherクラスにおいて、 イ
Luke - Lucene Index Toolbox Important note: Luke is now hosted at Google Code: http://code.google.com/p/luke/ and you should go to that page to obtain the latest release of Luke. This page contains only information about past releases and is no longer up to date. Lucene is an Open Source, mature and high-performance Java search engine. It is highly flexible, and scalable from hundreds to millions
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く