常见问题
常见问题解答
我从未使用过搜索引擎,还能使用 Meilisearch 吗?
当然可以!使用 Meilisearch 不需要任何 ElasticSearch 或 Solr 的知识。
Meilisearch 非常易于使用,适合各种水平的开发者。
快速体验了解 Meilisearch 的基础知识!
我们还提供了大量工具,包括 SDKs,帮助您轻松将 Meilisearch 集成到项目中。我们每天都在添加新工具!
此外,如果需要任何帮助,您可以联系我们。
如何判断 Meilisearch 是否完全适合我的使用场景?
由于 Meilisearch 是一个开源且易于使用的工具,您可以使用自己的数据尝试它。按照这个指南快速开始!
此外,我们发布了Meilisearch 与其他搜索引擎的对比,旨在提供 Meilisearch 替代方案的概览。
我尝试添加文档但一直收到 400 - Bad Request
响应
400 - Bad request
响应通常意味着您的数据格式不符合预期。可能包含多余的逗号、不匹配的括号、缺失的引号等。Meilisearch API 接受 JSON、CSV 和 NDJSON 格式。
在添加或替换文档时,即使只有一个新文档,也必须将其包含在数组中。
我已上传文档,但在索引中搜索不到结果
您的文档上传可能失败了。要了解原因,请使用返回的 taskUid
检查文档添加任务的状态。如果任务失败,响应中应包含一个 error
对象。
以下是一个失败任务的示例:
请检查错误信息以获取更多详情。
终止 Meilisearch 进程是否安全?
终止 Meilisearch 是安全的,即使在处理过程中(例如:添加一批文档时)。当您重启服务器时,它将从头开始执行任务。 更多信息请参阅异步操作指南。
你们是否提供 Meilisearch 及其集成工具的公开路线图?
是的,由于 Meilisearch 及其集成工具是开源的,我们为计划实现的主要功能维护了一个公开路线图。
要了解更准确的功能和问题详情,所有内容都在我们的 GitHub 仓库 的 issues 中有详细说明。
托管 Meilisearch 实例的推荐配置要求是什么?
简短回答:
托管 Meilisearch 实例的推荐配置取决于多种因素,例如文档数量、文档大小、所需的筛选/排序条件数量等。作为快速估算的起点,建议使用磁盘空间至少是数据集大小十倍的机器。
详细解答:
文档索引是一个复杂的过程,因此很难准确预估 Meilisearch 数据库的大小和内存占用。在优化实例时需要注意以下几个方面:
内存使用
以下两种情况会导致内存(RAM)使用量激增:
- 添加文档时
- 更新索引设置时(如果索引已包含文档)
为了降低内存消耗和索引时间,请遵循以下最佳实践:始终在添加文档前更新索引设置。这样可以避免不必要的双重索引。
磁盘占用
以下因素会显著影响数据库大小(排名不分先后):
- 文档数量
- 文档大小
- 可搜索字段数量
- 可筛选字段数量
- 每次更新的数据量
- 数据集中不同词汇的数量
需特别注意高度多语言的数据集和包含大量唯一词汇(如ID或URL)的数据集,它们会降低搜索速度并大幅增加数据库体积。如果确实存在ID或URL字段,除非它们需要作为搜索条件,否则请将其设为不可搜索。
搜索速度
由于 Meilisearch 使用内存映射,搜索速度取决于 RAM 与数据库大小的比例。换句话说:
- 大型数据库 + 少量 RAM => 搜索速度慢
- 小型数据库 + 充足 RAM => 闪电般快速搜索
Meilisearch 还使用磁盘空间作为虚拟内存。这部分磁盘空间并不等同于数据库大小,而是通过允许引擎突破物理 RAM 的限制,为其提供速度和灵活性。
目前,CPU 核心数量对索引或搜索速度没有直接影响。但是,为引擎提供的核心越多,它同时能处理的搜索查询就越多。
加速 Meilisearch
Meilisearch 设计为快速响应(≤50ms 响应时间),因此通常不需要额外加速。但如果发现 Meilisearch 实例查询缓慢,有两种主要方法可以提升搜索性能:
- 增加 RAM(或虚拟内存)容量
- 减小数据库大小
通常我们推荐前者。但如果需要减小数据库大小,请注意:
- 相关性规则越多 => 数据库越大
- 仅邻近度排序规则就可能占数据库大小的近 80%
- 向
filterableAttributes
添加大量属性也会消耗大量磁盘空间 - 多语言数据集成本高昂,建议按语言拆分数据集——每个索引对应一种语言
- 停用词对减小数据库大小至关重要
- 并非所有属性都需要设为可搜索字段。避免为唯一 ID 建立索引。
为什么 Meilisearch 会向 Segment 发送数据?Meilisearch 会追踪用户吗?
Meilisearch 绝不会追踪或识别个人用户。尽管如此,我们确实会使用 Segment 来收集关于用户趋势、功能使用情况和错误的匿名数据。
您可以在我们的遥测页面上了解更多关于我们收集哪些指标、为何收集这些指标以及如何禁用遥测的信息。透明度和隐私问题对我们非常重要,因此如果您认为我们在这方面有所欠缺,请提交问题或发送邮件至我们的专用邮箱:privacy@meilisearch.com。