プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

テキストインデックスのテクニックは何ですか?


逆索引や署名ファイルなど、一般的なテキスト検索の索引付け手法がいくつかあります。

転置インデックス −逆インデックスは、2つのハッシュインデックスまたはB +ツリーインデックステーブル(document_tableとterm_table)を維持するインデックス構造です。ここで、document_tableは、それぞれ2つのフィールド(doc_idとposting_list)を含むドキュメントレコードのセットで構成されます。posting_listはメソッドのリストです。 (またはメソッドへのポインタ)ドキュメントに表示され、関連性の尺度に従って配置されます。

term_tableには、term_idとposting_listの2つのフィールドを含む一連の用語レコードが含まれます。posting_listは、用語が出現するレコード識別子のリストを指定します。

特定の用語セットに関連付けられているすべてのドキュメントを見つけることができます。これは、特定のドキュメントセットに関連付けられているすべての用語を検索するために使用されます。たとえば、一連の用語に関連付けられているすべてのドキュメントを検索できます。まず、各用語の用語テーブルでドキュメント識別子のリストを検索し、次にそれらを交差させて、関連するレコードのコレクションを取得できます。

転置インデックスは市場で広く使用されています。実行は簡単です。転記リストはかなり長くなる可能性があり、ストレージ要件が非常に大きくなります。それらは実装が簡単ですが、同義語(2つの非常に異なる単語が同じ意味を持つことができる)と多義語(1つの単語が複数の意味を持つことができる)の管理には不十分です。

シグニチャファイルは、データベース内の各レコードのシグニチャデータを保存するファイルです。各シグニチャには、用語を定義するbビットの一定サイズがあります。単純なエンコーディング設計は次のようになります。レコード署名の各ビットは0から始まります。

ビットが定義する用語がレコードに表示される場合、ビットは1に設定されます。署名S1 別の署名S2と一致します 署名S2に設定されている各ビットの場合 S 1にも設定されています 。一般に、使用可能なビットよりも多くの用語があるため、いくつかの用語を同様のビットにマッピングできます。

このような複数対1のマッピングでは、クエリの署名を接続するレコードにクエリのキーワードのセットが含まれているとは限らないため、検索にコストがかかります。レコードは、取得、解析、ステミング、およびテストする必要があります。最初に頻度分析、ステミング、およびストップワードのフィルタリングを実装し、次にハッシュメソッドと重ね合わせたコーディング手法を利用してメソッドのリストをビット表現にエンコードすることで、改善を作成できます。


  1. DESのバリエーションは何ですか?

    データ暗号化規格には主に2つのバリエーションがあります- ダブルDES −ダブルDESは、同じプレーンテキスト上にDESの2つのインスタンスを必要とする暗号化アプローチです。どちらの場合も、複数のキーを使用してプレーンテキストを暗号化します。復号化時に両方のキーが必要です。 64ビットのプレーンテキストは最初のDESインスタンスに送られ、最初のキーを使用して64ビットの中間テキストに変換されます。したがって、2番目のキーを使用して64ビットの暗号文を提供する2番目のDESインスタンスに送られます。 ダブルDESは、通常のDESと同じように簡単です。ダブルDESには、このアルゴリズムで

  2. モノアルファベット暗号のテクニックは何ですか?

    モノアルファベット暗号には次のようなさまざまな手法があります- 追加暗号 −加法暗号は、アルファベットの文字の順列を変更する1つの方法です。アルファベットの各文字は同じ量だけ周期的に変更され、文字の相対的な順序は同じに保たれます。 文字が変換された位置の数は、キーと呼ばれます。たとえば、キー値5を使用できる場合、「a」はアルファベットの5つの位置で「F」、「b」、「G」などに変更されます。 文字「u」は「Z」に変更されるため、アルファベットの先頭に折り返すことができます。文字「v」は「A」などにマッピングされます。 つまり、アルファベットの文字の位置番号を使って加法暗号を完成させること