インデクサ
インデクサとは?
ロボット型検索エンジンの基礎でも述べたとおり、クローラー/スパイダーが巡回、収集したWWW上のドキュメントを、検索機能が扱いやすいデータに変換してデータベースに格納するのが、このインデクサの役割です。
あらかじめこのような中間処理をしておくことで、主に下に挙げるような効果があります。
形態素解析を用いた単語ごとの切り出しなどをあらかじめおこなった上でインデックスすることで、検索時の正確性と速度を高める
HTML文書中の検索に使用しないデータ(スクリプト記述部分など)をあらかじめ省いた形でインデックスすることで、データベースを小さくし、高速な検索を実現する
単語やフレーズごとにマークアップされたタグを解析しておくことでHTMLの文書構造を正確に把握し、適切な検索結果を実現する
この他にも、GoogleのPageRank?なども、リンク構造を解析してリンクポピュラリティーのデータベースを作成し、検索機能を高めるために利用されており、一種のインデクサの機能と言えるかもしれません。
いずれにしても、インデクサの機能や動作に対する細かな言及はこのサイトのテーマからはずれますので省略し、ここからはインデクサに「適切に」ドキュメントを読ませるための注意点について解説します。
シンプルなHTML記述を心がける
インデクサによっては、HTMLの開始から一定のデータ量しかインデックスしないものがあります。このことに留意して、本文の内容と無関係な宣言などの記述を極力少なくし、できる限り本文全体がインデックスされるように文書を作成すべきです。
特に以下の項目には注意しましょう。また、KISSメソッドの項も参照してください。
HTMLの先頭付近に、スクリプトやアプレットなどの長大な記述を入れることは避けましょう。
スクリプトやアプレットがコンテンツのうちの重要な部分を占める場合を除いて、使用自体を避けた方が賢明だと思います。多くの場合、スクリプトやアプレットは重要なコンテンツではないばかりか、アクセシビリティーの低下を招くなど、有益なものではありません。
HEAD要素内に長大なメタタグを記述することは避けましょう。
現在の多くの検索エンジンでは、<meta name="keywords" content="キーワード">の記述は無視される傾向にありますし、METAエレメントの容量が極端に大きい場合、METAスパムとみなされインデックスされないこともあります。
ページ内の内容は重要な順に、HTMLの文書構造を意識しながら記述しましょう。
多くの場合検索エンジンは、ページ内の先頭付近に書かれている部分の重要度が高いと判断します。
HTMLは正確に記述する
タグの閉じ忘れや、必要な宣言の記述忘れなど、HTML自体にエラーがあった場合、インデクサが正常にインデックスをおこなえない場合があります。HTMLの知識に自信のない方は、もう一度HTMLについて学ぶことをお薦めします。
言語指定を正確に
ごくまれに文字化けした検索結果を目にすることがあると思います。これは言語指定が不完全だったために、インデクサが正しい文字コードセットを判別しなかったことに起因します。
特に制作時に指定しなかった場合、WindowsやMacintoshで作られたドキュメントの文字コードはShift JISです。
<html lang="ja">
上のソースは、このHTMLファイルが日本語で記述されていることを宣言しています。このタグは通常の<HTML>タグと同様の使い方で、ページの先頭に記述します。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
上のソースは、このHTMLファイルがShift JIS文字セットを使用していることを宣言しています。
このタグは<HEAD>タグ内の先頭など、日本語による記述が出現するよりも先に挿入します。