This page was written in Japanese.
Web-search in Japanese
やっぱり日本語の検索もしたいですね。



Athena/WS環境では、Web Browser を使って日本語表示が出来ますが、、、検索ができん。 これはやっぱり不便じゃー!
ってことで、Athena/WS環境で日本語をKeywordに与える方法です。
  1. 概略

  2. 日本語入力環境があるWeb-Browserにおいて日本語を入力しても、Web-BrowserはWeb-Serverに英数字の並びとして送信しています。 なので、送るべき文字列をあらかじめ調べておけば、日本語をBrowserに入力できなくてもOKなのです。

  3. 検索文字列が入ったファイルを作る

  4. Muleを使います。文字コードをEUCにしてファイルを作ります。具体的には
    M-x set-file-coding-system として
    *euc-japan*
    を設定します。

  5. 検索文字列を調べる

  6. Unixのコマンド od を使い、16進数にてファイルの内容を表示させます。 作ったファイルが file.txt だとすれば、次のようになります。 検索文字列は、「遺伝的アルゴリズム」です。
    % od -tx1 file.txt
    0000000 b0 e4 c5 c1 c5 aa a5 a2 a5 eb a5 b4 a5 ea a5 ba
    0000020 a5 e0 
    0000022
    
  7. 入力文字列を作る

  8. これをもとに、Browserに与える文字列を作ります。 1バイト単位で、%をつけます。 左側のアドレス部分は不要です。 データの最後の0aがついていたらそれは不要です。改行を入れてしまっています。 上の例では、下のようになります。
    
    文字列相当データを取り出す。
    b0 e4 c5 c1 c5 aa a5 a2 a5 eb a5 b4 a5 ea a5 ba a5 e0 0a
    % をつける
    %b0%e4%c5%c1%c5%aa%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
    
    
  9. nkf が使える人は

  10. nkf/sed のコマンドが使えるならば、3./4. に対し、文字コードを気にせずファイルを作り、
    % nkf -e (ファイル名) | od -tx1 | sed 's/ /%/g'
    
    などと出来ます。出力は
    % nkf -e zzz | od -tx1 | sed 's/ /%/g'
    0000000%b0%e4%c5%c1                       
    
    のようになるので、最初の%以下を取り出します。

  11. Browser に食べさせる。

  12. 普通の検索文字列を入力する窓に入れてはいけません。
    たとえばYahoo! JAPANの場合、URLの部分に、
    http://search.yahoo.co.jp/bin/search?p=%b0%e4%c5%c1%c5%aa%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
    なんて感じで食べさせます。 URLに入力する構文は各検索サイトによって異なるので、検索文字列にxなどと適当な文字列を食べさせたあとの、Locationの所の表示を元に考えます。 例えばYahoo! JAPANであれば、検索文字列にxと入れると、
    http://search.yahoo.co.jp/bin/search?p=x
    などとでます。 "p="以下の構文は、次の通りです。
    	スペース	+
    	"		%22
    
    例えば、検索文字列に
    	遺伝的 アルゴリズム
    
    と入れる場合、
    	遺伝的		%b0%e4%c5%c1
    	アルゴリズム	%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
    
    なので、
    p=%b0%e4%c5%c1+%a5%a2%a5%eb%a5%b4%a5%ea%a5%ba%a5%e0
    
    となります。

いやー、無理矢理ですね。でも出来ないよりはましってことで。
Masahiko Nakayama (nakayama@pte.fuji.asahi-kasei.co.jp)