インデックスアップデート

ウェブ上の情報は常に変化しているため、検索エンジンは常に、インデックスの情報を新しく書き換えていく必要があります。現在の主な検索エンジンは、逐次更新と一括更新を併用したインデックスアップデートを行うことで、情報の新鮮度を保っています。

全体の内容を一度に更新するインデックス一括更新型

インデックス一括更新型とは、インデックス全体の内容を一度に新しい状態に換える方式です。方法としては、稼働中のファイルとは別に更新用のファイルの準備をすすめ、更新用ファイルが完成した時点で稼働中のものと差し替えます。

インデックス一括更新型では、情報の更新に必要な作業は、ファイル全体の差し替えを行うことだけです。そのため、データ更新時に、個々の情報の位置や、古い情報との競合を気にする必要がありません。データベースとしては最も情報管理が簡単で、間違いの生じない方法です。

更新情報を即時に反映するインデックス逐次更新型

インデックス逐次更新型とは、インデックス全体に対して、新しく収集された情報だけを随時更新していく方式です。方法としては、個々のWebページの新しいインデックスファイルができ次第、その部分を追加したり、古いものと差し替えていきます。

インデックス逐次更新型では、更新の時点でそのページの最新の情報が掲載されることになります。また、重要なページの内容だけを頻繁に更新することも可能で、情報の鮮度を常に高く保つことができます。

インデックス逐次更新型では、データベースの内容を保持しながら更新作業を行うので、個々の情報の位置を間違えて差し替えてしまったり、古い情報との競合が発生してしまう危険性があります。そのため、高度な情報管理機能を持つデータベースを構築しなければなりません。

処理能力の向上がもたらした併用への移行

1990年代までは、ウェブ上の検索エンジンのほとんどすべては、インデックスの更新に一括更新型を用いていました。次のような理由からです。

  • クローラーの処理能力もインデクサの処理能力も低かったので、クロールとインデックス更新を頻繁に行うことが難しかった
  • 高度な分散処理を行っているため、インデックスの更新はまとめて一時期に行うほうが不具合の発生を抑えることができた
  • リンクポピュラリティのようなページ間の関連性の計算を正確に行うには、インデックスを更新するためにある程度の時間を要した

しかし2000年代半ばに分散処理の効率化や高速化が進んだ結果、逐次更新と一括更新を併存させた運営が可能になり、2種類の更新方法を併用するのが普通になりました。これによって現在では、リンクポピュラリティなどの高度な計算によって精度を保ちつつ、鮮度の高い情報も随時追加していけるようになっています。

この記事について