ファイルがヒットしない、ヒットしすぎる

トップ  前へ  次へ

現象

「あれ、なんで見つからないの?」 「なんでこんなのがヒットするの?」

ここでは、全文検索の結果に違和感を覚えるケースについて解説します。

 

原因

FileBlogが採用している検索方法の特性により、検索結果が予期したものと異なってしまう場合があります。

 

解説

FileBlog全文検索の特性

1.まず、全角文字列と半角英数文字列は区別して扱われます

例文1:『英語で「おはよう」はGood morningになります』 は、

英数文字列"Good morning"部分と、その他に分けて扱われます
 

2.全角文字列は、原則2文字以上の部分文字列でヒットします

上記の例文1は「英語」「おは」「なります」などのキーワードで検索できます。

「語」や「お」など1文字キーワードで検索してもヒットしません。
※まれに1文字で分割された文字がヒットする場合があります。
 

3.半角文字列は、原則として単語全体の一致でヒットします

上記の例文1は「Good」や「morning」で検索するとヒットします。

しかしながら、「Goo」や「ing」などの部分文字列ではヒットしません。

このため、ID番号などの部分一致検索は出来ません。

たとえば「20100615」は「2010」ではヒットしません。
 

4.半角英数の前方一致検索はワイルドカードを使えば可能です

たとえば「20100615」は「2010*」でヒットします。

後方一致検索はできませんので、「*2010」はエラーになります。
 

5.全角半角混じりキーワードでの検索には注意が必要です

たとえば「警察は110番。消防は119番です」を検索するときに

「110」ではヒットしますが、「110番」ではヒットしません。

これは、全角半角の境界でキーワードが分割され

「110番」は「110」と「番」として検索されるものの、もとのテキストには「番」が見つからないためです。(1文字キーワードがヒットしない理由は 2.を御覧ください。

全角半角混じりキーワードで検索する場合、全角部分については原則として2文字以上としなければならず、半角部分については単語全体が完全一致するようにしなければならないのです。

 

FileBlogファイル名検索の特性

1.ファイル名検索では、半角全角にかかわらず、部分文字列でヒットします

全文検索でヒットしない半角の部分文字列もヒットするように、ファイル名専用の検索インデックスを構築しています。

ファイル名専用インデックスでは、ファイル名を単語分割する際に、文字列長2~15のNグラム方式を取っています。そのためVer.3.0以前では15文字を越えるキーワードで検索すると1件もヒットしませんでしたが、Ver.3.1以降ではキーワードが一つであればヒットします。

       

FileBlog全文検索・ファイル名検索 共通の特性

1.全角英数文字は半角英数文字として検索されます

 

 

全角一文字での検索を有効にする方法

全角1文字での検索を有効にするには、検索インデックスを『ユニグラムで構築しなおす』必要があります。検索インデックスのサイズが肥大化し、検索パフォーマンスが低下するリスクがあるため、文書量が数十万件を超える場合には推奨できません。(参考:http://lucene.jugem.jp/?eid=47 のCJKAnalyzerがFileBlogのデフォルトで、StandardAnalyzerがユニグラム版です)

まず、弊社のサポートページから、ユニグラム版の全文検索インデックス構築に必要なインデックステンプレートを入手してください。
(メールでお問い合わせ下さい)

FileBlog管理ツールの、検索エンジン設定画面にある、インデックステンプレートを標準の init_solr.zip から、送付したファイルに選択しなおしてください。

「サービスとツール」「コマンド実行」で、全文検索インデックスを初期化して、再構築しなおしてください。

 

 


© 2011 Teppi Technology   ※無断転載を禁じます