私は、膨大な量のデータを保管するセマンティック検索システムに取り組んでいます。データは実際には文書とその索引です。主な問題は、オントロジーを使用して文書を索引付けする方法と、オントロジーを保管する方法です。文書索引を効率的に保管する方法
私の質問は2番目の問題です。最初は、RDBMSに格納を実装しました。それはゆっくりと動く。私は、この目的のためにいくつかのNoSQLデータベースを使用すると考えますが、いくつかの疑問があります。
Luceneを使用した単純なテキスト検索は、現在のフィールドに必要なものではありません。
店舗構造を簡略化しましょう。逆インデックスのみが格納されていることに注意してください。 RDBMSでは、私たちはテーブルがあります。
1)ワード - いくつかの辞書から単語を
2)文書 - メタデータと文書とそれがコンテンツだ
3)ヒット - ドキュメント内の単語のヒット(区切らすべてのヒット「|」)
結果システムは、要求に応じて単語を分析し、単語のヒット情報に基づいてドキュメントの関連性を計算します。私はセマンティック分析についていくつかの瞬間を省略しましたが、今は重要ではありません。
保存という単語のこの構造についてどう思いますか?
{
"言葉": "some_word"、
...
...
"ヒット" "辞書からいくつかの他のメタデータ":[
"DOC1":[ " hit_info1" 、 "hit_info2" ...]
"DOC2":[ "hit_info1"、 "hit_info2" ...]
]
}事前に
ありがとう!
ファイルシステムに保存することを検討しましたか?ファイルシステムは、実際には非常に最適化されたNoSQLシステムです。 –
多くの挿入、更新、保存の選択が行われていますが、ファイルシステムは最適な解決策ではないと思います。 – Bohdan
データとそのデータの問い合わせ方法に関する追加情報をご提供ください。これをRDBMSにどのように実装しましたか? –