# Manticore Search 在 Microsoft Azure 上的实践：DX1 的故事

DX1 如何在 Azure 虚拟机上运行 Manticore Search，以支持 2000 万+零件的快速联想搜索，实现低维护操作和简单扩展。

```
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  
```

---

## 背景

本文基于 [DX1](https://theorg.com/org/dx1/org-chart/damir-tresnjo) 的 [Damir Tresnjo](https://www.dx1app.com/) 的直接输入。它描述了 DX1 当前如何在 Microsoft Azure 上运行 Manticore Search 的生产环境，重点说明了他们为何选择 Manticore、如何部署以及他们在性能和扩展方面的经验教训。

---

## 用一段话介绍 DX1

DX1 将 Manticore Search 用作面向客户和零件目录的快速搜索层，该目录已超过 2000 万条记录。设置非常简单：Manticore 与其余 Azure 基础设施一起运行在基于 Ubuntu 的 Azure 虚拟机上，提供响应迅速的联想搜索，同时在操作上保持“低维护”。随着数据和流量的增长，他们通过升级虚拟机规格或添加更多节点以简单的方式进行扩展。

---

## 用户真正喜欢的搜索体验

DX1 使用 Manticore Search 来实现客户和零件数据的搜索。联想搜索是体验的核心部分，根据 Damir 的说法，这是用户最赞赏的功能之一。

> **“我们用它来搜索客户和零件数据，我们有一个客户非常喜爱的联想搜索功能。”**

这是一个实际的、面向用户的用例，毫秒级的响应时间至关重要，这也影响了基础设施和操作选择。

如果你正在探索 Manticore 的自动补全功能，根据数据和用户体验需求，有多种实现方式。如需深入了解，请参阅我们关于模糊搜索和自动补全的概述：[新的模糊搜索和自动补全](https://manticoresearch.com/blog/new-fuzzy-search-and-autocomplete/)。

---

## 为何 DX1 选择 Manticore Search

选择使用 Manticore Search 的决定非常直接：它是开源且快速的。

> **“开源且非常快速。”**

这种组合使它成为 DX1 搜索工作负载和成本预期的良好选择，同时保持了对精简团队友好的技术栈。

---

## 在 Azure 虚拟机上的部署

DX1 所有基础设施均运行在 Azure 上，因此在 Azure 上部署 Manticore 是自然的选择。团队使用 Ubuntu 在 Azure 虚拟机上运行 Manticore Search。

> **“我们所有内容都在 Azure 上运行，因此我们也在那里部署了 Manticore。”**

不需要 Azure 特有的昂贵托管服务；虚拟机提供了他们所需的灵活性，同时与其余环境保持一致。

---

## 性能、内存和扩展

Manticore 对于 DX1 来说即使在大规模下也保持了快速和稳定。他们的生产数据集包含超过 2000 万零件。

> **“它运行得非常快，我们搜索超过 2000 万零件。”**

一个实际的考虑因素是内存。联想搜索性能受益于索引在内存中，这意味着随着索引增长，虚拟机内存可能需要同步增长。

> **“为了联想搜索性能，数据库需要在内存中。一旦索引超出可用内存，就需要升级虚拟机内存。”**

这创造了一个清晰的扩展路径：在现有虚拟机上增加内存或向集群添加更多节点。

> **“我们可以扩展每个虚拟机，或者向 Manticore 集群添加更多虚拟机。”**

---

## 日常操作

在操作上，DX1 将 Manticore 描述为低维护和低干预。

> **“低维护、低干预，大多数时候它只是运行着。”**

没有涉及 Azure 的特殊功能；设置是刻意简单的，专注于虚拟机和可预测的操作。

---

## 推荐

DX1 会向其他团队推荐 Manticore Search，作为快速且成本效益高的搜索引擎。

> **“是的，我会向任何寻找快速、可靠且成本效益高的搜索引擎的人推荐 Manticore。”**

对于 DX1 来说，速度、开源灵活性以及在 Azure 上基于虚拟机的简单部署，已成为大规模搜索的可靠基础。

---

## 结论

DX1 的故事适合那些希望拥有快速、可靠搜索引擎的团队，而无需将搜索基础设施本身变成一个项目：在简单的 Linux 虚拟机上运行 Manticore，保持操作简单，并可预测地扩展。特别是对于低延迟的联想搜索，通常需要规划足够的内存余量，因此扩展通常从内存（向上扩展）开始，随后随着数据和流量增长扩展到添加节点（向外扩展）。

---

## 与我们讨论迁移到 Manticore

如果你正在考虑迁移到 Manticore Search 并希望进行快速的架构审查（例如基于虚拟机的 Azure 部署），[请与我们联系](https://manticoresearch.com/contact/)。分享一些关于你的数据集大小、查询模式和延迟目标的信息，我们将帮助你验证一种方法并规划下一步。
