あき
attin****@kk*****
2005年 11月 8日 (火) 08:44:39 JST
あきです。 > 竹添です。 > > 正規表現の件に関しては、可能かもしれないと思い、検証してから > 回答しようと思っていたのですが、 そうでしたか…。 すみません、気が早くて…。 > >>ということで、試しにsearchプラグイン(?)の改良版で試してみました。 > >>速度が低下することもなく、良好に動作しています。 > >> > >>キーワード検索結果を色分け表示させるパッチ > >>http://fswiki.poi.jp/wiki.cgi?page=BugTrack%2Dplugin%2F235 > >> > >>後はページの自動リンクでしょうか? > >>それとも、それ以外にもまだ有りますか? > >>あまり多いと対応するのが億劫になりそうですが…。 > > すべては把握できていないのですが、ページの自動リンク以外にも > 修正すべき部分があったと思います。 修正箇所が多そうですね。 後は、InterWikiNameくらいかと思っていたのですが…。 って、今日ようやくInterWikiNameの使い方が分かりました。 便利な機能ですね。 すみません。こんな初歩的なことも知らずにいろいろ発言したりして…。 あと他に、WikiNameなんてのもありますね。 > > 難しいですねぇ。(>_<) > > 何やら高速化の為のおまじないみたいなことをしているらしくて…。 > > lib/Wiki/Keyword.pmのload_keywords()関数で$self->{regex} > > に詰め込んでいるものがまるで魔法のようです。 > > 私にはまるで『ちんぷんかんぷん』です。quotemeta? > > 複数のキーワードと高速にマッチさせる手法でしょうか? > > quotemetaは正規表現に文字列を組み込む場合に > 正規表現のメタ文字をエスケープする関数ですね。 ありがとうございます。 勉強してみます。 > > > 確かに、ここを分解して一つ一つをサーチすると遅くなってしまいそうです。 > > 逆にexists_keyword()関数の「if($str =~ /$regex/){ … }」の部分は > > そのままにて、このif()文に入った時だけ、詳細なチェックをするのは > > いかがでしょう? > > マッチした行しか詳細チェックの対象になりませんので、速度的なロスは > > 最小限で済みそうな気がしますが…。 > > 表示しようとしているページだけが対象ですよね? > > 自動リンクに関してはそれでよさそうな気がします。 > まずは直さなければいけないところを特定してからですね。 あまり多いようだと気が引けますね。 漢字1文字のページって、そう滅多に存在するわけでもないですし…。 苦労するだけの恩恵があるようには、ちょっと思えないですね。 検索に関しては、ページ名には関係なく、1文字検索で無関係なページが数多く ヒットしてしまってましたので、そちらに関しては修正は正解だったと思います。 ということで、問題があっても影響範囲で修正すべきか否か考えた方がいい気が します。苦労して対応しても(下に続く) > ちなみに4.0では文字コードがUTF-8になるので、 > こういった対応は不要になるかと思います。 次メジャーバージョンから不要になるなら、労力をかけるだけ無駄な気もします し…。