namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"oshirase" and "me-rusa-ba" problems
- From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 14 Dec 1999 20:43:26 +0900
「お知らせ問題」について。
ChaSen を用いてインデックスを作成すると「お知らせ」が 1つの
単語として登録されます。しかし、検索時には「お」「知らせ」の
ように分割されてしまうため、検索できません。
「メールサーバ問題」について。
ChaSen を用いてインデックスを作成すると、「メールサーバ」は
「メール」「サーバ」と 2つの単語に分かれて登録されます。しか
し、検索時には「メールサーバ」のままで、分割されないため、検
索できません。
# 利用者側で分割すれば検索できるだけ、「お知らせ問題」よりは
# まし。(「お知らせ」はどうやっても検索できない)
なぜこんな事態が起きるかというと、
* 検索時には自前でわかち書きをし、
* その際にひらがな・カタカナを特別扱いする
からです。なぜ、ひらがな・カタカナを特別扱いするかというと、
* 「コンピュータ」で検索したときに、
* インデックスに「コンピュータ」が含まれず、
* 「コン」「タ」はインデックスに含まれている
ような状況のときに、ひらがな・カタカナを特別扱いしないと、次
のように検索結果の表示が不気味になってしまうからです。
| % namazu "コンピュータ"
| 参考ヒット数: { [ コン: 19 ] [ ピ: 0 ] [ ュ: 0 ] [ ー:
| 0 ] [ タ: 5 ] :: 0 }
|
| 検索式にマッチする文書はありませんでした。
現在の実装では、ひらがな・カタカナから始めるわかち書はあり得
ない、という条件をつけています。よって、次の検索結果が得られ
ます。
| % namazu "コンピュータ"
| 参考ヒット数: [ コンピュータ: 0 ]
|
| 検索式にマッチする文書はありませんでした。
この仕様を採用した経緯は
<http://ml.namazu.org/namazu-ml/avocado/thrd12.html#01126>
で読めます。
...
で、「お知らせ問題」と「メールサーバ問題」の解決策ですが、検
索式に新たな表記
[この中は特別扱いしない]
を導入して、 [] で囲まれた文字列を特別扱いしないようにすれば、
どちらもわかち書きされて、検索可能になります。場当たり的な解
決法ではありますが、手段がないよりはましだと思います。いかが
なものでしょう?
何かもっといい方法があるといいんだけど…。
p.s.
近日中に ChaSen 2.0 が公開されます。
-- Satoru Takabayashi