【发布时间】:2013-09-15 16:54:16
【问题描述】:
我有一个 MongoDB 数据库,其中每天会有 5 到 10 次插入。将插入的数据结构如下所示:
{
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 种数据中哪一种在速度和可用性方面更好? (还要考虑每个解决方案所需的时间/脑痛,如设置、配置等)
【问题讨论】:
标签: node.js mongodb search full-text-search search-engine