namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tawagoto?



古川です。

>> On Tue, 3 Mar 1998 04:35:56 +0900, Masami HIRATA <a0292060@xxxxxxxxxxxxx> said:
  > PerlのCGIは使えるが、コンパイルするのはちょっと無理という標
  > 準的なプロバイダを使ってる人々(大勢いるはずです)が
  > [namazu:00291]で述べた様な方法で自分のページにNamazuを導入で
  > きる様になれば、その効果は計り知れないと思います。

普通のプロバイダでは、kakasi はきっと置いて無いですよね (推測)。

すると、複合語の処理を namazu.cgi で受けもたなくてはならないので、ちゃ
んとやろうとすると、結構大変ですね。

「複合語の処理」とは…  例えば、kakasi の標準の辞書には「愛知大学」は
                        無いので、index を作るときには「愛知」「大学」
                        の 2 つに分かれて登録されています。
                        その状態で、namazu.cgi にて「愛知大学」を入力
                        すると、ヒットしないことになります。

で、いいかげんな方法を考えてみました。


「愛知大学」の先頭と一致する、最長の語を検索すると、「愛知」がヒットす
るので、残りの「大学」を別の単語として、再検索する。


というわけで、1.1.1.1 の srnmz.c を参考に、perl で書いてみました。

ただし、ファイルの先頭にも書いてありますが…

# おそらくバグがあります。

# また、次のような制限があります。
#   1  私の身のまわりの、ごく限られたデータしかテストしていません。
#   2  必ず and 検索になります。
#   3  表示件数の指定はできません。
#   4  必ず要約表示になります。
#   5  kakasi を呼んでいないので、複合語の処理は完全ではありません。
#   6  エラー処理の類は、充実していません。
#   7  cgi として呼ぶことしか考えていません。
#   8  slog は残りません。

何か不足の機能があったら、
    1. この ML にてお知らせ下さい。
    2. 改造してみて下さい。

-- 

                                        ヤマハ(株)ピアノプレーヤ設計課
                                                              古川 令
                                             furukawa@xxxxxxxxxxxxxxxx
------------------------------ ここから ------------------------------
begin 755 pnamazu.cgi.gz
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
40`P5F0ZLM*-4M/1?GJ3S2+$>``#0
`
end
------------------------------ ここまで ------------------------------