# Manticore Search в Microsoft Azure: история DX1

Как DX1 использует Manticore Search на виртуальных машинах Azure для обеспечения быстрого автодополнения по более чем 20 млн деталей, с минимальными операциями и простым масштабированием.

```
TL;DR: 

- DX1 uses Manticore Search for customer and parts search with a fast typeahead UX  
- Chosen for open-source licensing and speed  
- Deployed on Azure VMs running Ubuntu, aligned with DX1’s existing Azure footprint  
- Handles 20M+ parts; best typeahead performance requires indexes in memory  
- Scales by upgrading VM memory or adding nodes to a Manticore cluster  
- Day-to-day operations are low touch and low maintenance  
```

---

## Контекст

Эта статья основана на прямом вкладе [Damir Tresnjo](https://theorg.com/org/dx1/org-chart/damir-tresnjo) из [DX1](https://www.dx1app.com/). В ней описывается, как DX1 использует Manticore Search в продакшене на Microsoft Azure сегодня, с акцентом на том, почему они выбрали Manticore, как они его развертывают и чему они научились относительно производительности и масштабирования.

---

## DX1 в одном абзаце

DX1 использует Manticore Search как быстрый пользовательский слой поиска для клиентов и каталог деталей, который вырос более чем до 20 миллионов записей. Настройка намеренно проста: Manticore работает на виртуальных машинах Azure на базе Ubuntu вместе с остальной инфраструктурой Azure, обеспечивая отзывчивое автодополнение при «минимальном» вмешательстве в эксплуатацию. По мере роста данных и трафика они масштабируются простым способом, увеличивая размеры ВМ или добавляя новые узлы.

---

## Поиск, который действительно нравится клиентам

DX1 использует Manticore Search для обеспечения поиска по данным клиентов и деталей. Автодополнение является ключевой частью опыта, и, по словам Дамира, это одна из самых ценных функций для их пользователей.

> **“Мы используем его для поиска по данным клиентов и деталей, у нас есть функция автодополнения, которую наши клиенты любят.”**

Это практический пользовательский сценарий, где важны миллисекунды, и он сформировал как инфраструктурные, так и операционные решения.

Если вы исследуете автодополнение в Manticore, существует несколько способов реализации в зависимости от данных и требований к UX. Для более глубокого погружения см. наш обзор нечеткого поиска и автодополнения: [Новый нечеткий поиск и автодополнение](https://manticoresearch.com/blog/new-fuzzy-search-and-autocomplete/).

---

## Почему DX1 выбрал Manticore Search

Решение использовать Manticore Search было очевидным: он открытый и быстрый.

> **“Открытый и очень быстрый.”**

Это сочетание сделало его подходящим для нагрузки поиска DX1 и их ожиданий по стоимости, при этом стек оставался доступным для небольшой команды.

---

## Развертывание на виртуальных машинах Azure

DX1 размещает всю свою инфраструктуру в Azure, поэтому развертывание Manticore там было естественным выбором. Команда запускает Manticore Search на виртуальных машинах Azure, используя Ubuntu.

> **“Мы запускаем всё в Azure, поэтому развернули Manticore и здесь.”**

Специальные дорогие управляемые сервисы Azure не требовались; ВМ предоставляли необходимую гибкость, оставаясь согласованными с остальной средой.

---

## Производительность, память и масштаб

Manticore был быстрым и стабильным для DX1, даже при большом масштабе. Их производственный набор данных включает более 20 миллионов деталей.

> **“Он работает очень быстро, у нас более 20 миллионов деталей, по которым мы ищем.”**

Одним из практических соображений является память. Производительность автодополнения выигрывает от того, что индексы находятся в памяти, что означает, что память ВМ может потребоваться увеличить вместе с индексом.

> **“Для производительности автодополнения база должна находиться в памяти. Как только индекс превышает доступную память, нам нужно увеличить память ВМ.”**

Это создает четкий путь масштабирования: увеличивать память на существующих ВМ или добавлять новые узлы в кластер.

> **“Мы можем масштабировать каждую ВМ или добавить больше ВМ в кластер Manticore.”**

---

## Операционная деятельность

Операционно DX1 описывает Manticore как минимальное вмешательство и низкое обслуживание.

> **“Минимальное вмешательство, низкое обслуживание, большую часть времени он просто работает.”**

Нет специальных функций Azure; настройка преднамеренно проста, сосредоточена на ВМ и предсказуемой эксплуатации.

---

## Рекомендация

DX1 порекомендовал бы Manticore Search другим командам, ищущим быстрый и экономичный поисковый движок.

> **“Да, я бы порекомендовал Manticore каждому, кто ищет быстрый, надежный и экономичный поисковый движок.”**

Для DX1 сочетание скорости, гибкости открытого кода и простого развертывания на ВМ в Azure стало надежной основой для поиска в масштабе.

---

## Заключение

История DX1 подходит командам, которым нужен быстрый, надежный поисковый движок без превращения поисковой инфраструктуры в отдельный проект: запускайте Manticore на простых Linux‑ВМ, держите операции простыми и масштабируйте предсказуемо. Для низколатентного автодополнения особенно важно планировать достаточный запас ОЗУ, поэтому масштабирование часто начинается с памяти (scale up), а позже переходит к добавлению узлов (scale out) по мере роста данных и трафика.

---

## Свяжитесь с нами о миграции на Manticore

Если вы рассматриваете миграцию на Manticore Search и хотите быстрый обзор архитектуры (например, развертывание на ВМ в Azure), [свяжитесь с нами](https://manticoresearch.com/contact/). Расскажите немного о размере вашего набора данных, шаблонах запросов и целевых задержках, и мы поможем вам подтвердить подход и спланировать дальнейшие шаги.
