>>909
amazon はどうか知らないが、
Google はあらかじめ「ダブル配列法」というのを
使っていて、それでインデクスを構成していて
高速化している。
ただ、ダブル配列法は英語のようなスペースで
区切られていう言語だと効率はいいんだが、
日本語のような「膠着語」でありマルチバイト文字を
使っている言語だと、辞書を再構成するのに
けっこう手間がかかるんだよ(つーても、語彙数はせいぜい
数百万語なので、現代のコンピュータで処理するのは
たいした手間じゃないんだが)。
「トリプル配列法」というのがあるので、
気が向いたら実装してみてくれ。