検索機能を追加しました。

独立した検索ページを作るか作るまいか悩んでたのですが、勝手を考えindex内に検索フォームを追加しました。

Twitter以外全部検索」同様、AND、OR、NOT検索が可能です。

・キーワードをスペース(半角でも全角でも可)で区切る事でAND検索。

ex.”今日”と”明日”を含む時

[今日 明日]


・キーワードの間に半角大文字でORを含めるとOR検索。

ex.”今日”または”明日”を含む時

[今日 OR 明日]


・キーワードの頭に-(マイナス)を含む事で、そのキーワードを除いた検索をします。

ex."今日"を含むが、"明日"は含まない。

[今日 -明日]

内部的には「Twitter以外全部検索」のエンジンをPerlに移植した感じなので特に問題なくコード化できたのですが、お恥ずかしながら、巷で5C問題などと言われているShift JIS特有(?)の問題に引っ掛かってしまいました。

対象文字が変数で無ければシングルクォーテーションで括るとか、対象文字の後ろに¥記号を付ける等してできるのですが、変数となるとまた話が別の様で、quotemeta関数を使うとか、スクリプトEUC-JPで書きShift JIS出力にする等々・・・。

quotemeta関数での方法では失敗していたので、EUC化しか無いかなぁといった所で、一先ずログファイルのみEUCに書き出してみて試してみたりもしたのですが、最終的にはJcode.pmにて対象文字列をEUCに変換して検索する方法を取っています。

ログファイルから1件1件その都度EUC変換している為、何とも効率の悪い気は致しますが、index内でコード化するとなると現状できる最善はこの形なのかなと言った所です。