3

私は逆索引を構築し、ユーザークエリに基づいて類似性アルゴリズムを適用する必要がある小さなプロジェクトに取り組んでいます - 基本的な情報検索。逆インデックスの構築と検索に最適な NoSQL 製品は何ですか?

ありがとう、J

4

2 に答える 2

1

転置インデックスは、単語とドキュメント内の位置との関係を格納するためのものなので、これが NoSQL の適切な使用例であるかどうかはわかりません。ここでは、従来の SQL の方がうまく機能します。たとえば、次のようなデータ構造を試してください。

Documents (DocumentID primary key, DocumentText text)
Words (WordID primary key, Word text)
Instances (InstanceID primary key, WordID foreign key, DocumentID foreign key, WordIndex integer)

この構造では、ドキュメントをDocumentsテーブルに挿入すると、各単語が解析され、Words新しい場合はテーブルに追加され、WordID既に存在する場合は既存の単語が取得され、関連するデータがInstancesテーブルに追加されます。

NoSQL の使用を意図している場合は、MongoDB などで使用して、すべてのドキュメントを 1 つのコレクションに、すべての単語を別のコレクションに入れることができます。各Wordドキュメント内に、関連付けられたドキュメントとそのドキュメント内の単語インデックスをInstances持つオブジェクトの配列となる配列を含めます。ObjectIDただし、MongoDB がドキュメント内のこのような大きな配列を処理するために最適化されているかどうかはわかりません。「a」や「the」などの一般的な単語は、データの量によっては、4 MB のドキュメント制限を超えることもあります。

于 2013-10-15T03:35:13.293 に答える
1

エラスティックサーチを参照

  • 分散型、スケーラブル、高可用性
  • リアルタイムの検索および分析機能
  • 洗練された RESTful API
于 2016-01-02T12:57:20.493 に答える