2012-04-17 12 views
2

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

おかげで、 J

答えて

1

転置インデックスは、すべての文書内の単語とその位置との関係を保存する程度ですので、私はこれは本当にNoSQLのために良いユースケースではよく分かりません。従来のSQLはここでうまくいくでしょう。例えば、このようなデータ構造をしてみてください:あなたはDocumentsテーブルに文書を挿入すると、この構造により

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

を、あなたはそれぞれの単語を解析し、それが新しいかどうWordsテーブルにそれを追加したり、既存の取得しますWordIDが既に存在する場合は、関連付けられたデータをInstancesテーブルに追加します。

NoSQLを使用する予定がある場合は、MongoDBなどで使用して、すべてのドキュメントを1つのコレクションに入れ、すべての単語を別のコレクションに入れることができます。各Word文書の内部には、対応する文書のObjectIDとその文書内の単語索引を持つオブジェクトの配列であるInstances配列が含まれています。しかし、MongoDBが文書内の大きな配列を扱うために最適化されているかどうかはわかりません。 「a」や「the」のような一般的な言葉は、あなたが持っているデータの量によっては、4MBの文書の制限を超えてしまうこともあります。

0

Elasticsearch

  • 分散、スケーラブル、および
  • 可用性の高いリアルタイム検索および分析機能
  • 洗練されたRESTfulなAPIを参照してください