Немного предыстории: Я планирую использовать MongoDB в качестве базы данных внешнего интерфейса публикации для нескольких моих веб-сайтов. Фактические данные будут храниться в базе данных SQL Server, и будут выполняться фоновые задания, которые будут заполнять MongoDB через заранее определенные интервалы времени только для чтения, чтобы повысить производительность веб-сайта.
Ситуация: У меня есть таблица 'x' которую я перевел в коллекцию mongo, все работало нормально.
«x» имеет столбец «c», который изначально был NVARCHAR (MAX) в исходной базе данных и содержит многоязычный текст.
Когда я искал по столбцу 'c' mongo выполнял полное сканирование коллекции.
Итак, я попытался сделать sureIndex ({c: 1}), который работал, но когда я проверил журналы mongodb, он показал мне, что 90% данных не могут быть проиндексировано как [Key Too Large To Index] !!
Таким образом, он проиндексировал 10% данных, и теперь только возвращает результаты из этих 10% !!
Каковы мои альтернативы? ?
Примечание: Я использовал этот столбец для полнотекстового поиска в SQL Server, теперь я не уверен, следует ли мне продолжать использовать Mongo или нет: (