У меня есть простой сайт MongoDB, где выделенная поисковая система (например, elasticsearch) будет излишним и добавит сложности поддержки, поэтому я хочу придерживаться полнотекстового поиска MongoDB 2.6. Как я вижу, MongoDB индексирует индекс текстового поиска только one
полей в коллекции. Если у меня есть коллекция Users
и вы хотите включить полнотекстовый поиск как для имени пользователя, так и для описания пользователя, для чего нужна правильная структура коллекции? Я могу предложить создать отдельную коллекцию Text
, где я буду хранить всю текстовую информацию для своего сайта и использовать ее для поиска. Например, пользователь будет вставлен так:Что такое правильная структура коллекции mongodb для полнотекстового поиска?
users.insert({
name_ref: texts.insert({text: "John Doe", type: USER_NAME}),
description_ref: texts.insert({text: "This is a test user", type: USER_DESCR}),
});
Это хорошее решение, или так много зависимостей между сбором будут убивать MongoDB, и мне нужно использовать какой-то другой appproach?
Спасибо за прекрасный ответ и новый год! – grigoryvp
Добро пожаловать. И тебя с Новым годом ;-) – BatScream