2014-10-10 116 views
0

我有几个搜索词时应该搜索的集合。 这些集合是他们合并在一个搜索集合。 我有一些领域是fullText和一些字段是一个文本标签数组。这些标签来自多个上下文Mongo搜索结构

考虑到mongo只使用一个索引每搜索,并且一个compound index can only contain one array field。我倾向于将这个搜索结构的某个字段上的所有标签放在一个集合上。

我的问题是:那么fullText字段呢?我应该将它们连接起来并将它们添加为一些巨大的文本字段吗?

我应该跳过mongo alltogether,并输入我的领域的其他数据库?

+1

(或者如果全文搜索的主要目的你应用程序),我会建议使用像弹性搜索或solr这样的专门的完整测试搜索引擎。但是,您可以在MongoDB中[索引多个文本字段](http://docs.mongodb.org/manual/tutorial/create-text-index-on-multiple-fields/)。 – wdberkeley 2014-10-13 16:25:14

+0

很酷。现在将使用mongo,并尽快尝试其他两种选择 – FabioCosta 2014-10-14 14:47:11

回答

0

用我生产的解决方案有一段时间我有以下的结论有:

  • 保持所有的阵列上的一个字段建立索引,甚至用于大型数据集是不够好;
  • 一个专门的文本引擎,altough提高技术堆栈,是更强大的,可扩展的,如果你需要复杂的全文搜索功能,我建议ElasticSearch