Приветствую. Предположим, что имеется много документов в одной коллекции, если брать обычный поиск по условным текстовым полям, то его можно ускорить индексацией. Но как быть с булевыми значениями? Есть какие-то варианты ускорить поиск по ним?
Snoz3f, мда. С булевыми полями все базы хреново работают. Низко-кардинальные поля.
И значит индексирование не особо полезно.
Можно побить таблицу на части. Partitions. Или фасеты. Это тоже самое - только смысл - группировки
свойств по партишенам.
Я не помню поддерживаем Mongo partitions или нет. Но можно создать несколько collections.
Например если идет поиск по 4 булевым полям. То можно создать 16 коллекций где каждой
будет соотвествовать комбинация флажков.
Это если количество документов примерно одинаковое. Если будет сильный перекос - то можно
как-то мелкие коллекции слить в одну.
Ну и софт переписать чтоб был роутинг по разным коллекциям.
Пользуйтесь частичными составными индексами. Например храните в индексе только true значения вместе с полем по которому ведётся сортировка при выдаче результата.