回到主页Meilisearch 的标志
返回文章
2024年9月26日

跨多种语言搜索

了解实现高级多语言搜索的简便性,无论语言如何,都能为您的用户提供他们应得的无缝且相关的结果。

Quentin de Quelen
Quentin de QuelenMeilisearch 联合创始人兼首席执行官@Quentin_dQ
Searching across multiple languages

在当今互联互通的世界中,许多应用程序需要处理多种语言的内容。Meilisearch 提供了强大的多语言搜索功能,将智能语言处理与专业模型相结合,以实现最佳相关性。本指南将引导您使用 Meilisearch 设置多语言搜索,涵盖全文搜索和语义搜索方法。

为什么多语言搜索至关重要

在深入技术细节之前,让我们先了解一下为什么多语言搜索至关重要:

  1. 全球覆盖:通过满足用户母语需求来扩大您的受众。
  2. 提升用户体验:无论查询或内容使用何种语言,都能提供相关的结果。
  3. 提高参与度:用户更有可能与他们可以轻松找到和理解的内容进行互动。

现在,让我们探索 Meilisearch 如何让多语言搜索变得轻而易举。

全文搜索:智能语言处理

Meilisearch 的核心优势在于开箱即用地处理各种语言。我们的高级分词器旨在处理:

  • 使用空格分隔单词的语言(如英语、西班牙语和法语)
  • 具有不同书写系统的语言(如中文、日语和泰语)

自动语言检测

当您将文档添加到 Meilisearch 索引时,引擎会自动检测每个字段的语言。这意味着在大多数情况下,您无需手动指定语言——Meilisearch 会为您处理。

例如,如果您的文档包含英语和西班牙语的混合内容:

[
  {
    "id": 1,
    "title": "The quick brown fox",
    "description": "El zorro marrón rápido salta sobre el perro perezoso"
  },
  {
    "id": 2,
    "title": "La luna y las estrellas",
    "description": "A beautiful night sky filled with twinkling stars"
  }
]

Meilisearch 会自动检测并正确处理每个字段中的不同语言,确保您的多语言内容获得准确的搜索结果。

为特定字段指定语言

虽然自动检测在大多数情况下运行良好,但您可能希望对某些字段的语言处理拥有更多控制权。Meilisearch 允许您使用localizedAttributes设置来指定特定属性的语言

以下是设置方法:

{
  "localizedAttributes": [
    {
      "locales": ["eng"],
      "attributePatterns": ["title_en", "*_english"]
    },
    {
      "locales": ["spa"],
      "attributePatterns": ["description_es", "*_spanish"]
    }
  ]
}

此配置告诉 Meilisearch 将以 _en_english 结尾的字段视为英语,将以 _es_spanish 结尾的字段视为西班牙语。当您的多语言字段有统一的命名约定,或者您希望确保对某些属性进行特定处理时,此方法特别有用。

语义搜索:提升多语言相关性

虽然全文搜索在许多多语言场景中表现良好,但语义搜索可以提供更好的结果,特别是对于复杂查询或处理跨语言细微含义的情况。

Meilisearch 支持各种用于语义搜索的嵌入模型,提供强大的自动嵌入功能。这意味着您可以轻松设置语义搜索,而无需自行管理嵌入过程。Meilisearch 会自动处理嵌入的生成和存储,将它们无缝集成到您的搜索体验中。

对于多语言应用程序,我们建议使用专门的多语言模型,而不是依赖通用模型。这些模型旨在理解和表示跨多种语言的含义,从而在多语言环境中获得更相关的搜索结果。

多语言语义搜索的一个绝佳选择是 Cohere 多语言嵌入模型。它在广泛的语言范围内提供了速度和相关性的良好平衡。Cohere 的模型特别擅长理解不同语言中的上下文和细微之处,使其成为处理多样化多语言内容的理想选择。如果您想立即尝试,请遵循此指南

要探索不同的模型及其性能,您可以使用 Meilisearch 演练场。这个交互式工具允许您测试各种嵌入模型,并查看它们在您的特定多语言查询和内容中的表现。

总结

我们鼓励您尝试不同的设置和模型,以找到适合您特定用例的最佳配置。请记住,Meilisearch 社区随时为您提供帮助——加入我们的 Discord,或查阅我们的文档以获取更详细的信息和支持。

准备好开始多语言搜索了吗?立即尝试 Meilisearch,即可获得14天试用期

How to build a search engine in PHP: Step-by-step guide

如何在 PHP 中构建搜索引擎:分步指南

通过这份可操作的分步教程,了解如何轻松地在 PHP 中构建搜索引擎。

Ilia Markov
Ilia Markov2025年6月5日
Building a JavaScript Search Engine: Tutorial, Examples & More

构建 JavaScript 搜索引擎:教程、示例及更多

通过这份可操作的分步教程,了解如何轻松地在 JavaScript 中构建搜索引擎。

Ilia Markov
Ilia Markov2025年6月3日
How to Make a Search Engine in Python: Step-by-Step Tutorial

如何在 Python 中制作搜索引擎:分步教程

通过这份详细的分步教程,了解如何轻松地在 Python 中制作搜索引擎。

Ilia Markov
Ilia Markov2025年5月29日