Маркетинг просит на неделю поднять товары со скидкой в выдаче и закрепить один конкретный товар по фразе «подарок». Обычно под такое пишут прослойку над поисковым движком.
Meilisearch — поисковый движок для приложений, с опечатками, фасетами и фильтрами из коробки. Версия 1.51 вышла 27 июля.
Что внутри:
🔘 у экспериментальных Dynamic Search Rules появилось условие filter: в ключе values перечисляются фасеты и их значения, при которых правило включается;
🔘 у правила появилось поле lastUpdatedAt со временем последнего изменения, а список правил отдаётся начиная с самых свежих;
🔘 поиск ускорили за счёт однократного чтения данных с диска, на наборе с 14 тысячами разных полей заявлен выигрыш до 5,4 раза;
🔘 обновление без дампа перестало быть экспериментальным, флаг --experimental-dumpless-upgrade переименован в --upgrade-db;
🔘 в 1.50 механизм правил переписали целиком: поле priority заменено на precedence, где меньшее значение означает более ранний порядок, а conditions превратился из массива в объект;
🔘 там же появились лимиты «DSR fuel» через переменные окружения и заявленный потолок 75 000 правил без влияния на скорость поиска;
🔘 в 1.50 GET documents в шардированной конфигурации по умолчанию собирает документы со всех узлов (старое поведение включается через useNetwork: false), а сами правила реплицируются с лидера на реплики.
Пригодится тем, кто отдаёт поиск по каталогу и держит поверх движка отдельный слой бизнес-правил ранжирования.
Dynamic Search Rules остаются экспериментальной функцией, а формат правил сменился в 1.50, так что написанное для более ранних версий придётся переписать. Заодно в 1.51 убрали неиспользуемые экспериментальные возможности, включая --experimental-replication-parameters.
Язык: Rust. Лицензия: MIT, часть кода Enterprise Edition под Business Source License 1.1.
@prog_tools
Post #2860
1.49K

- ☃ 1
- 👍 1