Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pnamazu-2000.05.26
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx>
- Date: Fri, 26 May 2000 23:59:21 +0900
- X-ml-name: namazu-users-ja
- X-mail-count: 00473
古川です。
perl 版検索クライアントを
http://www01.tcp-ip.or.jp/~furukawa/pnamazu/
に置きました。
#(1)+ 演算子 '-' を新設
#(2)+ CGI 動作時の演算モードとして "normal" "or" "inside" を新設
# + 検索時の制限値を導入
# + namazurc の EmphasisTags に対応したつもり (いいかげん)
#(3)! Replace\t が、最後のものしか有効でなかったのを修正
# (Thanks to 良井竜さん)
# ! ドキュメントの不備を修正
# (Thanks to 本橋誠司さん、小関吉則さん)
# ! NMZ.head などを読むときに、nkf -Z1 相当の処理をしていたのをやめた
#(4)! 検索文字列を EUC-JP 以外で送信するブラウザから、複数インデックス
# を検索したときなどに、文字化けするケースがあったのを修正
# (Thanks to 本橋誠司さん)
(1) '-' という演算子を新設しました。これは、not と似ていますが
*京都* not 東京都
「京都を含む語」を含む文書のうち、「東京都」を含まないものにヒット
*京都* - 東京都
「京都を含む語のうち『東京都』以外」を含む文書にヒット
つまり「京都」「東京都」を両方含む文書に、前者はヒットせず、後者はヒット
する、ということです。
当然ですが、前の項は、部分一致、正規表現など、複数の語に展開されるもので
ないと、意味がありません。
(2) CGI 動作時の QUERY_STRING に opmode という変数があったら、
'or' の場合
演算子の無いものを or で扱います。また、従来通り、
それが { } で囲まれているときは phrase 演算し、
'and', 'or' といった演算子も、使えます。
'inside' の場合
単純な日本語の単語検索のときに、語の前後に '*' がついている
ものとして扱います。
例: 「京都」は「*京都*」と扱われます。
英数字については、この処理はされません。従来通り '*' を明示
しない限り、単語単位となります。
利用法としては、例えば、NMZ.head に
<select name="opmode">
<option selected value="normal">すべての語を含む
<option value="or">いずれかの語を含む
<option value="inside">単語の一部でも有効
</select>
なんてのを入れておくことが考えられます。
(3) 複数の Replace\t を設定したときに、後のものしか効いていませんで
した。(X-Mail-Count: 00403 参照)
(4) 検索文字列を EUC-JP 以外 (ISO-2022-JP とか) で送信するブラウザで、
複数のインデックスを検索したとき (以外にもあるかもしれませんが) に、
文字化けすることがありました。(X-Mail-Count: 00451 参照)
--
Rei FURUKAWA
furukawa@xxxxxxxxxxxx