[解決済み] インバーテッド・インデックスとプレーン・オールド・インデックスの違いは?
質問
ソフトウェア工学では常にインデックスを作成しますが(データベースなど)、転置インデックスの話もよく聞きます。この 2 つの間に何か根本的な違いがあるのでしょうか。それらは同じもののように聞こえます。
どのように解決するのですか?
よくある使い方として "...高速な全文検索を可能にする"です。
この2つのタイプは 方向性 . 1つは 前方 で、もうひとつは 後方へ (逆方向)に進みます。 これだけだ。ここには謎解きはありません。それ以外は同じです。 を持つ であり、その結果、どのような情報で を見つけることができます。
お問い合わせの件ですが、なぜ今の使い方になっているのかを知る方法は、実はないと思います。どれを定義するかが重要なのは
forward
であり、どれが
inverted
というのは、私たち全員がそれらについて会話できるように、そして私たちがどちらの方向について話しているのか、誰もがわかるようにするためです。用語「左」と「右」について考えてみてください。どちらがどちらであるかは重要ではありません。ただし、その言葉が意味を持つためには、全員がどちらが「左」でどちらが「右」であるかに同意する必要があります。もし、文化として、左と右を反転させることに決めたとしたら、合意された意味が変わってしまったので、「右折」と「左折」が何であるかを理解するのと同じ問題が発生するでしょう。しかし、ネーミングは恣意的なものなので、どれがどれだか(それ自体)は問題ではなく、重要なのは、私たち全員が
に同意することです。
を意味することです。
あなたのコメントで、"用語の定義だけはやめてください"とあるのは的外れで、両者に全く違いがないのに、表現にこだわっているだけだと思います。
今後の読者のために、いくつかのquot;forward"とquot;inverted"インデックスの例を紹介します。
例1: ウェブ検索
もしあなたがインデックスの逆は何かと考えているなら、それは 数学における関数の逆数 のようなもので、逆数は別の形をした特別なものだと考えているなら、それは間違いです:ここではそうではありません。
検索エンジンでは、ドキュメント(Webサイトのページ)のリストがあり、そこにいくつかのキーワードを入力すると結果が返ってきます。
A 前方インデックス (または単にインデックス)は ドキュメントのリスト であり、どの単語がその中に現れるかを示しています。ウェブ検索の例では、Google はウェブをクロールしてドキュメントのリストを作成し、各ページにどの単語が出現しているかを把握します。
その 転置インデックス は 単語のリスト であり、それらが出現する文書である。ウェブ検索の例では、あなたが単語のリスト(検索クエリ)を提供し、Googleがドキュメント(検索結果リンク)を生成します。
どちらもインデックスであり、どちらの方向に進むかの問題です。正転は文書->から単語->へ、反転は単語->から文書->へです。
例 2: DNS
もうひとつの例は、DNS ルックアップ (ホスト名を受け取り、IP アドレスを返す) と逆ルックアップ (IP アドレスを受け取り、ホスト名を与える) です。
例3:ある本
本の巻末にある索引は、実は
転置インデックス
で定義されているように、単語のリストであり、本の中のどこにその単語があるのかを示しています。本の中で、目次はまるで
前方索引
ただし、そのセクションの単語を列挙するのではなく、目次はそれらの文書(章)に含まれるものの名前と一般的な説明を与えるだけです。
例4:携帯電話
その 前方インデックス は連絡先のリストで、どの電話番号(携帯、自宅、職場)がその連絡先に関連付けられているかを示しています。また 転置インデックス は、電話番号を手動で入力し、quot;dial" を押すと、電話番号ではなく、その人の名前が表示されるもので、携帯電話が電話番号を取得し、それに関連付けられた連絡先を見つけたからです。
関連
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] MVPとMVC、その違いは何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] フレームワークとライブラリの違いは何ですか?
-
[解決済み] 引数とパラメータの違いは何ですか?
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み】定義と宣言の違いは何ですか?
-
[解決済み】intellijのインデックスを特定のフォルダで無効にする。
-
[解決済み] DynamoDBにおけるローカルインデックスとグローバルインデックスの違いについて
-
[解決済み] intellijのアイデアのインデックスを停止するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン