私は、毎日 1 日あたり 5 から 10 の挿入がある MongoDB データベースを持っています。挿入されるデータの構造は次のようになります。
{
question: 'text here',
date: '01/01/2000 01:01',
title: 'Some title',
client: 'name',
assigned_to: ['name1', 'name2', 'name3'],
answers: [
{answer: 'bla bla'},
{answer: 'bla bla'},
{answer: 'bla bla'}
]
}
すべてのテキスト フィールド (質問、タイトル、およびすべての回答) で単語または一連の単語を検索する必要があります。私は検索してきましたが、これは私がこれまでに見つけたものです。3 つの解決策があります。
a) $regexp
b) Enable full-text search in MongoDB and use it
c) Save the structure with the following format (and then use multi-key search)
{
question: 'text here',
question_s: ['text', 'here'],
date: '01/01/2000 01:01',
title: 'Some title',
title_s: ['Some', 'title'],
client: 'name',
assigned_to: ['name1', 'name2', 'name3'],
answers: [
{answer: 'bla bla', answer_s: ['bla', 'bla']},
{answer: 'bla bla', answer_s: ['bla', 'bla']},
{answer: 'bla bla', answer_s: ['bla', 'bla']}
]
}
データの正確な形式とそのサイズ (今後 10 年間の推定値) を把握している場合、速度と使いやすさの点で、これら 3 つのうちどれが優れていますか? (セットアップ、構成などとして、これらのソリューションのそれぞれが必要とする時間/脳の痛みも考慮してください)