【发布时间】:2011-09-16 02:26:19
【问题描述】:
一些背景:我打算使用 MongoDB 作为我的一些网站的发布前端数据库。实际数据将保存在 SQL Server 数据库中,并且会有后台作业以预定义的时间间隔填充 MongoDB,用于只读目的,以提高网站性能。
情况:我有一个表“x”,我将它翻译成一个 mongo 集合,一切正常。
“x”有一个列“c”,它在源数据库中最初是一个 NVARCHAR(MAX),并且其中包含多语言文本。
当我按“c”列搜索时,mongo 正在对集合进行全扫描。
所以我尝试做一个 ensureIndex({c : 1 }) 有效,但是当我检查 mongodb 日志时,它显示 90% 的数据无法索引为 [Key Too Large To Index] !!
因此它已索引了 10% 的数据,现在仅返回这 10% 的结果!!
我的选择是什么??
注意:我在 SQL Server 中使用此专栏进行全文搜索,现在我不确定是否应该继续使用 Mongo :(
【问题讨论】:
标签: mongodb indexing full-text-search