Namazu-devel-ja(旧)


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

Re: 長い単語の排除



寺西です。

"Komai @home" wrote:
> 
> Tadamasa Teranishi さんは書きました:
> >長さ72,76 の Base64 っぽい記号 に関しては、削除したいですね。
> このあたりは、uuencode、ish等は、削除されるとのことですから、

# 現状、uuencode, BinHex で、ish は無理だと思います。

uuencode は、ヘッダ文字からフッタ文字まで削除。BinHex はヘッダ文字
以降全て削除となっているようです。

> Base64もついでに、、というのは難しいでしょうか?

Base64 というか、MIME 形式の multi-part message には対応して
いないので削除されていないということのようです。

multi-part message のニーズ(デコードして検索)はあるので、将来対応
予定だったとは思いますが、まじめに処理するには大変そうです。

削除するだけなら、まだ簡単そうですが multi-part message をばっさり
削除するわけにもいかず、
Content-Transfer-Encodeing: が、base64 または quoted-printable の
ものだけ削除するという仕様が、とりあえず実装するには良いかも
しれません。
 
>128文字以上の URL もきちんと扱えるようにするのか、URL は排除する
> >のか。文字列の長さに関わらず同じ動作になるのが良いように思います。
> >また、日本語ドメインを考えると同じ動作を行うのは難しいような
> >気もします。
...
> (例えば、あるサイトのURLを検索したいときには、
> その中のうろ覚えのドメイン名で検索するとか。
> そうであれば、-Kオプションで済みますね。)

長い URI を単語として登録することの意味がどれくらいあるのかは、
やや疑問に思っています。まぁ、-K で分解できるのであまり気にする
必要はないのかもしれませんが、URI で検索するのなら、
専用のURI 検索とか特別な機能追加を考えた方が良いような気がして
います。(NMZ.uri とかを新らたに作る)
# 深くは考えていません。 

> >> 例1 BASE64らしき記号
...
> これは、検索した結果、やはりWordをBase64でエンコードした電子メールでした。

添付ファイルということですね。やっぱり削除したいですね。

> >> 例2 単なる記号?
> >こちらについては、全角記号を削除するオプションを考えています。
> >-K オプションの全角バージョンのようなものです。ただし、連続して
> >何文字以上続く場合といった数を指定できるようになっていると良いのでは
> >ないかと思っています。現在、仕様を検討中で、削除対象文字の選別を
> >行っています。
> これは、確かに良いですね。単なる記号列は、めったに検索しないのですが、
> もしかすると、半角の/、:等の記号よりも、全角記号の方がさらに
> あまり意味のないものが多い、、(と個人的に感じるだけなのかもしれませんが)
> ような気がします。

私もそう思って、全角記号を削除する機能はつけたいと思っています。

> もちろん、電子メール中の上記のような記号は、
> 装飾的に使っている事が多いと思われるので、完全に無意味というのは
> 難しいような気もします。。

装飾的に使っているものを検索したいですか?
装飾的に使っているものであるからこそ、無意味なのでは?

> (まず、第一に、どういう規則で排除するコーディングにしたら
> 良いか、難しそうですね。)

EUC の記号文字が指定個数以上続く場合は単純に削除することを考えて
います。記号はある程度まとまっている(罫線は 8区)ので、文字コードで
選別することで削除できます。(1,2区の部分は少々面倒ですが...。)
その他、ベンダー依存で特殊文字を割り振っているものもありそうですが、
最初はこの部分までは考えないことにしています。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E