⚠️ 此页面为自动翻译,翻译可能不完美。
blog-post

wine.co.za 如何借助 Manticore Search 让约 145,000 条记录的档案更易搜索

View as markdown

对 wine.co.za 来说,搜索不只是找到一瓶葡萄酒。

该网站的档案覆盖了南非葡萄酒行业的许多内容:葡萄酒、酒庄、联系人、国际代理商、新闻文章和分类广告。访问者可能在寻找某个特定生产商、一篇旧文章,或是一款他们能描述但不知道名称的葡萄酒。

过去,wine.co.za 直接在 MariaDB 中处理这些搜索,使用全文索引和通配符查询。它能用,但访问者必须相当准确地输入内容。

Manticore Search 让这些搜索更灵活,也让搜索建议更有用。对 WineNet 的 IT 总监 Kevin Kidson 来说,另一个很大的好处是它几乎不需要操心:

“它就是这么稳,搭好就不用管,多年来一直非常稳定。”

南非葡萄酒行业档案

Manticore 为 wine.co.za 的各个部分提供搜索能力。Kevin 分享系统细节时,它索引了以下内容:

数据集记录数
酒庄907
葡萄酒45,833
联系人4,644
国际代理商3,447
新闻文章41,602
分类广告48,482
这些集合的总计144,915

此外还有几个较小的数据库。Kevin 将 wine.co.za 描述为南非葡萄酒行业的档案库,其中每一条记录都很重要。

目标很直接:用一个易于设置、并且能与现有应用配合工作的搜索引擎,让所有这些信息更容易被找到。

使用 Manticore 之前:访问者必须知道该输入什么

Kevin 将旧搜索描述为全文索引和通配符查询的组合,使用 xx* 和 xx% 这样的模式。

“用户必须知道自己在找什么,或者至少知道它开头怎么拼。”

对于知道自己想要哪类葡萄酒、但心里没有具体名称的人来说,这很受限制。他们可能想搜索:

dry chenin stellenbosch

这三个词描述了一种葡萄酒风格、一个葡萄品种和一个产区。Kevin 说,能够在一次搜索中组合这些词,是 Manticore 给网站带来的最重要改进。

“它让我可以组合搜索词,比如来自 Stellenbosch 的 dry chenin 等等,以前我从来做不到这一点。”

现在,访问者可以描述自己想要什么,而不必从某个具体的葡萄酒或酒庄名称开始。

MariaDB 仍然是真实数据源

集成方式很简单。wine.co.za 仍然在 MariaDB 中存储和更新数据。每天一次,它会把可搜索数据复制到 Manticore。网站通过 .NET 库发送搜索查询。

MariaDB → 每日索引 → Manticore Search → .NET 应用 → wine.co.za 搜索

MariaDB 继续处理主数据,而 Manticore 负责搜索。两者并行协作,而不是由一个取代另一个。

易于设置很重要,因为 Kevin 几乎没有空闲时间:

“设置起来非常简单,也很合乎逻辑。”

他记得整个设置大约分两天完成,因为他是在其他工作间隙处理的。他估计安装 Manticore 并学习如何使用它,总共花了大约 24 小时。

访问者输入时提供更好的建议

Manticore 还为 wine.co.za 的搜索框提供建议功能。这些建议能帮助访问者在输入完成之前就找到想要的内容。

Kevin 说,Manticore 足够快,可以在人们输入时生成建议,而且它更宽容的搜索方式让下拉建议更容易构建。访问者不受特定词序限制:可以输入 dry chenin stellenbosch,也可以输入 stellenbosch chenin dry。

这既能帮助知道某款葡萄酒或生产商确切名称的人,也能帮助只知道自己想要内容的几个细节的人。两类人都可以使用同一个搜索框。

在问卷回复中,Kevin 强调了这两项改进:

“整个网站的搜索好了非常多,下拉框等位置的建议也好了非常多。”

多年来可靠运行的搜索

wine.co.za 没有分享详细的性能基准。Kevin 说公司规模很小,也没有做太多测量,因此没有可报告的前后延迟或资源使用数据。

对 Kevin 来说,更重要的是 Manticore 多年来一直可靠运行,而且几乎不需要占用他的时间。他希望进一步探索它还能做什么,但已经对它目前的表现很满意。

对小团队来说,这是很实际的好处。本来可能花在维护搜索上的时间,可以投入到其他工作中。

“它表现非常出色,我完全不用担心。”

无需大型工程项目,也能获得更好的搜索

wine.co.za 的设置展示了独立搜索引擎如何融入现有应用,而无需替换主数据库。MariaDB 仍然存储数据。Manticore 每天接收一份副本,.NET 应用则使用它进行搜索。

这种改进在日常搜索中就能看到。有人想找一款来自 Stellenbosch 的干型 Chenin,可以把这些词组合起来,尝试不同顺序,并在输入时获得建议。他们不必在开始之前就知道具体的葡萄酒名称。

对 Kevin 来说,价值就在于这种组合:访问者更容易找到所需内容,而搜索本身几乎不需要他进行日常维护。

安装Manticore Search

在 Linux 或 macOS 上用一条命令安装 Manticore Search:

curl https://manticoresearch.com | sh

有关高级安装选项,请参阅完整安装指南 和手册 。

安装Manticore Search