1. ホーム
  2. indexing

[解決済み] インバーテッド・インデックスとプレーン・オールド・インデックスの違いは?

2022-10-12 17:22:28

質問

ソフトウェア工学では常にインデックスを作成しますが(データベースなど)、転置インデックスの話もよく聞きます。この 2 つの間に何か根本的な違いがあるのでしょうか。それらは同じもののように聞こえます。

どのように解決するのですか?

よくある使い方として "...高速な全文検索を可能にする"です。

この2つのタイプは 方向性 . 1つは 前方 で、もうひとつは 後方へ (逆方向)に進みます。 これだけだ。ここには謎解きはありません。それ以外は同じです。 を持つ であり、その結果、どのような情報で を見つけることができます。

お問い合わせの件ですが、なぜ今の使い方になっているのかを知る方法は、実はないと思います。どれを定義するかが重要なのは forward であり、どれが inverted というのは、私たち全員がそれらについて会話できるように、そして私たちがどちらの方向について話しているのか、誰もがわかるようにするためです。用語「左」と「右」について考えてみてください。どちらがどちらであるかは重要ではありません。ただし、その言葉が意味を持つためには、全員がどちらが「左」でどちらが「右」であるかに同意する必要があります。もし、文化として、左と右を反転させることに決めたとしたら、合意された意味が変わってしまったので、「右折」と「左折」が何であるかを理解するのと同じ問題が発生するでしょう。しかし、ネーミングは恣意的なものなので、どれがどれだか(それ自体)は問題ではなく、重要なのは、私たち全員が に同意することです。 を意味することです。

あなたのコメントで、"用語の定義だけはやめてください"とあるのは的外れで、両者に全く違いがないのに、表現にこだわっているだけだと思います。





今後の読者のために、いくつかのquot;forward"とquot;inverted"インデックスの例を紹介します。

例1: ウェブ検索

もしあなたがインデックスの逆は何かと考えているなら、それは 数学における関数の逆数 のようなもので、逆数は別の形をした特別なものだと考えているなら、それは間違いです:ここではそうではありません。

検索エンジンでは、ドキュメント(Webサイトのページ)のリストがあり、そこにいくつかのキーワードを入力すると結果が返ってきます。

A 前方インデックス (または単にインデックス)は ドキュメントのリスト であり、どの単語がその中に現れるかを示しています。ウェブ検索の例では、Google はウェブをクロールしてドキュメントのリストを作成し、各ページにどの単語が出現しているかを把握します。

その 転置インデックス 単語のリスト であり、それらが出現する文書である。ウェブ検索の例では、あなたが単語のリスト(検索クエリ)を提供し、Googleがドキュメント(検索結果リンク)を生成します。

どちらもインデックスであり、どちらの方向に進むかの問題です。正転は文書->から単語->へ、反転は単語->から文書->へです。



例 2: DNS

もうひとつの例は、DNS ルックアップ (ホスト名を受け取り、IP アドレスを返す) と逆ルックアップ (IP アドレスを受け取り、ホスト名を与える) です。



例3:ある本

本の巻末にある索引は、実は 転置インデックス で定義されているように、単語のリストであり、本の中のどこにその単語があるのかを示しています。本の中で、目次はまるで 前方索引 ただし、そのセクションの単語を列挙するのではなく、目次はそれらの文書(章)に含まれるものの名前と一般的な説明を与えるだけです。



例4:携帯電話

その 前方インデックス は連絡先のリストで、どの電話番号(携帯、自宅、職場)がその連絡先に関連付けられているかを示しています。また 転置インデックス は、電話番号を手動で入力し、quot;dial" を押すと、電話番号ではなく、その人の名前が表示されるもので、携帯電話が電話番号を取得し、それに関連付けられた連絡先を見つけたからです。