トップ > FAQ(第2)
 

FAQ(第2)

Unicode版msearchに関する質問集です。 FAQ(第1)が大きくなったので分割しました。 FAQ(第1)にも目を通してください。 毛流麦花の学習記録と備忘録を兼ねている関係で、質問されそうにない事項が含まれておりますし、当方の勘違いにより誤った記述をしている箇所がある可能性があります。

目次

運用

1.検索オプションで更新日の期間を日付で指定することはできますか?(例えば、2000年1月1日から2000年6月30日まで等)
2.検索ログを見ると、ヒット件数が0件にならないはずの検索で0件になっています。なぜ?
3.サーバー上でのインデックス作成がどうしても失敗してしまいます。この場合、サーバー側でどのような制限をかけられているのでしょうか?
4.設定ファイル(default.cfg)のlang引数, period引数に半角コンマ, セミコロンが使われているけれども, URLエンコードしなくていいの?
5.Mac版IEで検索を実行すると、検索結果画面の検索窓(検索フォーム)が文字化けすることがある。

言語

1.BBSのログファイル等のプレーンテキスト(マークアップされていないテキストファイル) は何語のページとして扱われますか?(言語情報を埋めることはできますか?)
2.サフィックスの付いた言語コードのページをサフィックスの付かない言語コードで 検索できますか?(例えばzh-CN(中国)とzh-TW(台湾)をいずれもzhで検索できるか等)

文字コード

1.HTMLとXMLとで使える文字実体参照に違いはあるの?
2.各エンコーディングで扱える漢字の範囲は?
3.Unicodeエンコーディングにおいて、Private Use Areaの文字の検索は可能か?

多言語・国際化

1.サーメ語(サーミ語)は扱えますか?
2.シンハラ語(シンハラ文字, スリランカ語)は扱えますか?
3.タガログ語は扱えますか?
4.チェロキー文字は扱えますか?
5.ビルマ語(ミャンマー語、ミャンマー文字)は扱えますか?
6.モンゴル語(蒙古文字)は扱えますか?

運用

1.検索オプションで更新日の期間を日付で指定することはできますか?(例えば、2000年1月1日から2000年6月30日まで等)

出来ません。理由は2つあります。 1番目の理由、必要性をあまり感じなかったからです。 検索オプションにどのような機能を持たせるかを検討するにあたって主要な検索エンジンのオプション設定を 調査してみましたが、たしかに更新日の期間を日付で指定できるサイトもあるものの、大御所のGoogleにこの機能がないですし、 実際どのような使われ方を想定してみると、最近更新されたページを探すのがメインになるでありましょう。 日付で指定して検索するのはかなり特殊かつ稀な使い方と言えるでしょう。 2番目の理由、プログラミングがちょっと面倒そうだったからです。 プログラム内では日時をエポックタイム値(ある日を起点とする経過秒数。ちなみにこれはコンピューターの2038年問題の一因でもある) で表現しているのですが、日時をエポックタイム値に直すのがちょっと一苦労なのです。 (当該機能を提供するtimelocal.plを使ってもいいのですが) あまり役立ちそうにない機能を苦労してまで作成することもなかろうというのが本音です。

2.検索ログを見ると、ヒット件数が0件にならないはずの検索で0件になっています。なぜ?

午前0時をまたいで検索を行った場合にこの現象が発生することがあります。 更新日を指定した検索の場合、午前0時をまたぐと総ヒット件数が変換する(減少する)ことがあります。 例えば23時59分に検索を行って50件ヒットしたとします。1ページあたりの表示件数が10件であれば[1]から[5]までが表示されます。 そして日付が変わって0時01分に検索を行うと30件しかヒットしないものとします。 この場合23時59分に検索を行った時の検索結果画面の[5]を、日付が変わってからクリックすると画面表示がおかしくなります。 30件しかヒットしないのに、検索結果の41件目から50件目を要求していることになるためです。 こうならないよう、不正なset引数とnum引数の組み合わせで呼ばれた場合は0件ヒット扱いにしてユーザーに再入力を促すようにしています。 検索ログに0件と記録されるのは0件ヒット扱いにしていることによるもので、異常ではありません。

3.サーバー上でのインデックス作成がどうしても失敗してしまいます。この場合、サーバー側でどのような制限をかけられているのでしょうか?

Webサーバーソフトでは、CGIの消費するリソース(CPU, メモリなど)に制限をかけることが出来るようになっています。 ApacheとZeusでのディレクティブ(命令)を以下に列挙します。

■Apache 1.3
RLimitCPU, RLimitMEM, RLimitNPROC
http://httpd.apache.org/docs/mod/directives.html
■Apache 2.0
RLimitCPU, RLimitMEM, RLimitNPROC
http://httpd.apache.org/docs-2.0/mod/directives.html
■Zeus
RLimitCPU, RLimitDATA, RLimitMEM, RLimitNPROC, RLimitTIME
http://www.jp.zeus.com/library/index.html
■ディレクティブの説明
(1)RLimitCPU:CGIプロセスが実行できるCPUの最大時間(ユーザーモードでの時間)
(2)RLimitTIME:CGIスクリプトの最長実行時間(ユーザーモードでの時間だけでなく, OS内部での処理に要した時間, 割り込み・入出力処理などに要した時間を含む, トータルの時間)
(3)RLimitMEM:CGIプロセスに割り当てられるアドレス空間の最大サイズ(コードとデータ両方に割り当てられるメモリの最大サイズ)
(4)RLimitDATA:CGIプロセスが使えるデータセグメントの最大サイズ(プログラム内でデータ用として確保できるメモリの最大サイズ)
(5)RLimitNPROC:CGIプロセスの最大数(CGIプロセス内からforkでプロセスを生成することを認めるか否か)

引用元:本家掲示板 1271番

4.設定ファイル(default.cfg)のlang引数, period引数に半角コンマ, セミコロンが使われているけれども, URLエンコードしなくていいの?

HTML中では半角コンマ, セミコロンはそのままで問題ありません。GETメソッドで送信時, ブラウザが自動的にURLエンコードしてくれます。(全角文字をURLエンコードしてくれるのと同じです。) URL中で使える文字, 使えない文字については, RFC-1738"Uniform Resource Locators (URL)"を参照してください。 URI中で使える文字, 使えない文字については, RFC-2396"Uniform Resource Identifiers (URI): Generic Syntax "を参照してください。 RFC-1738ではURL中の半角コンマは許可, 半角セミコロンは禁止, RFC-2396ではURI中の半角コンマ, 半角セミコロンはいずれも禁止になっています。

5.Mac版IEで検索を実行すると、検索結果画面の検索窓(検索フォーム)が文字化けすることがある。

IEの設定を変更するか、検索結果画面のHTMLのCSSを変更することで回避可能です。 IE設定変更の詳細な手順はぞうさんちv3Mac版IEのコメント欄の文字化け解消法に書かれています。 配布アーカイブに同梱しているdefault.cfgを使っていてCSSを変更する場合は、検索結果画面・検索オプション画面(ヘルプ画面)のHTML内の埋め込みCSSにあるinputセクション内にあるfont-familyの設定を有効にしてみてください。(コメント記号を外します。) なおfont-familyの設定を有効にした場合、当該フォントに含まれていない文字(例えば、マイナーな言語の文字など)が表示されなくなることがありますのでご注意ください。

言語

1.BBSのログファイル等のプレーンテキスト(マークアップされていないテキストファイル) は何語のページとして扱われますか?(言語情報を埋めることはできますか?)

言語情報を抽出できなかったページは「言語:未確定」として扱われます。 (ISO639-2にて規定されている言語コード"und"をインデックスに記録します。Undeterminedの略です。) この場合「検索対象言語:すべての言語」のみで検索可能です。 マークアップされていないテキストファイルに言語情報を埋める手段はありません。 どうしても埋め込みたい場合はHTML化してください。 サンプルを以下に記します。 Perl等でスクリプトを記述すれば、自動変換できるようになります。(テキストの前後にタグを付けるだけですので。)

<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=euc-jp">
</head>
<body>
<pre>
プレーンテキストの内容がここに入る
</pre>
</body>
</html>
2.サフィックスの付いた言語コードのページをサフィックスの付かない言語コードで 検索できますか?(例えばzh-CN(中国)とzh-TW(台湾)をいずれもzhで検索できるか等)

出来ません。サフィックスの付いた言語コードと付かない言語コードとは完全に区別されます。zh-CNのページはzhでは検索できずzh-CNでなければ検索できません。zh-TWについても同様です。

文字コード

1.HTMLとXMLとで使える文字実体参照に違いはあるの?

XMLではHTML4.01で利用していたものに加えて &apos; が利用できます。参照先はU+0039です。 数値文字参照の場合、10進数表記では&#*; 16進数表記では&#x*; のみが利用可能です。(HTMLで規定されていた&#X*; ( Xが大文字 ) は利用できません。)

2.各エンコーディングで扱える漢字の範囲は?

以下のようになります。

エンコーディング 使える漢字
Shift_JIS JIS X 0208(第1水準・第2水準)
ISO-2022-JP
EUC-JP
JIS X 0208(第1水準・第2水準)
JIS X 0212(補助漢字)(※1)
UTF-8
UTF-16LE
UTF-16BE
UTF-32LE
UTF-32BE
JIS X 0208(第1水準・第2水準)
JIS X 0212(補助漢字)
JIS X 0213(JIS2000, 第3水準・第4水準)(※2)

※1:JIS, EUCでの補助漢字の使用は推奨しません。OS・ブラウザ環境によってはトラブルが発生する恐れがあります。 補助漢字を使いたいときは、Unicode(UTF-8など)を使ってください。補助漢字はすべてUnicodeに収録されています。

※2:JIS2000で規定されている漢字はほとんどが(Version 4.0以降の)Unicodeに収録されています。 ただし100%すべて収録されているかどうかはわかりません。

関連URL:
http://www.asahi-net.or.jp/%7ewq6k-yn/code/enc-x0213.html
http://homepage1.nifty.com/nomenclator/unicode/
http://www.autumn.org/write/jpn/0213.html

3.Unicodeエンコーディングにおいて、Private Use Areaの文字の検索は可能か?

まったく問題ありません。ただし当該文字がブラウザ上で正しく表示されるかは、フォントに当該文字のグリフが収録されているかによります。

Private Use AreaとはU+E000からU+F8FFまでの領域を指します。(厳密には, U+FFFFE, U+FFFFF, U+10FFFE, U+10FFFFも含みます。) Private Use Areaには文字が割り当てられておらず、自由に文字を割り当てて使用することができます。(外字みたいなものと考えればわかりやすいでしょう。) 例えば、NTTドコモのi-mode用のHTMLでは、絵文字がPrivate Use Areaに収録されています。 U-PRESS(共同通信社が加盟社や新聞社への記事配信用に開発した文字コード体系)ではPrivate Use Areaに文字が収録されているようです。

多言語・国際化

1.サーメ語(サーミ語)は扱えますか?

Unicodeであれば問題なく扱えます。ISO8859で扱う場合はISO-8859-15(Latin9)での対応になるらしいですが、 最初からUnicodeでいきましょう。ちなみにサーメ語とは、スウェーデン・ノルウェー・フィンランド北部のラップランド地方に 住むサーメ人が使っている言語です。昔はラップ語(ラップ人)と呼んでいましたが、現在では彼らの呼称にあわせて、 サーメ語(サーミ語)と呼んでいます。英語表記はSami, Saamiなど若干ばらつきがあります。サーメ語での表記はSámiです。

http://www.saamiweb.org/ (UTF-8 Web)
http://www.yle.fi/samiradio/
http://www.evertype.com/standards/se/sami-teastabaiki.html
http://pc124152.oulu.fi/ROADS/Saamen_kieli_ja_kulttuuri.html/saameeng.htm

2.シンハラ語(シンハラ文字, スリランカ語)は扱えますか?

Unicodeに文字そのものは収録されているらしいですが、 Windows2000/XPに標準で入っているフォントでは表示できないようです。 フォント埋め込みを使うしかないらしいです。 シンハラ文字が収録されたフォントは見つけられそうです。

3.タガログ語は扱えますか?

Unicodeに文字そのものは収録されているらしいですが、 Windows2000/XPに標準で入っているフォントでは表示できないようです。 フォント埋め込みを使うしかないらしいです。 文字が収録されたフォントは見つけられそうです。 ちなみにタガログ語とはフィリピンで使われている言語です。

4.チェロキー文字は扱えますか?

Unicodeに文字そのものは収録されているらしいですが、 Windows2000/XPに標準で入っているフォントでは表示できないようです。 MacOS X 10.3以降なら表示できるらしいです。 フォント埋め込みを使うしかないらしいです。 文字が収録されたフォントは見つけられそうです。

5.ビルマ語(ミャンマー語、ミャンマー文字)は扱えますか?

Unicodeに文字そのものは収録されているらしいですが、 Windows2000/XPに標準で入っているフォントでは表示できないようです。

6.モンゴル語(蒙古文字)は扱えますか?

Unicodeに文字そのものは収録されているらしいですが、 Windows2000/XPに標準で入っているフォントでは表示できないようです。


サイト内全文検索エンジン - Unicode版msearch