用途:为应用接入 Meilisearch 全文搜索,覆盖客户端初始化、文档增删改查、搜索过滤排序、分面导航、地理搜索、多索引搜索、索引设置与多租户访问控制。
主要能力:使用 meilisearch(v0.56+)作为 Meilisearch v1.x 的 TypeScript 客户端;所有写操作(加文档、改设置、建索引)异步返回 EnqueuedTaskPromise,进入后台队列处理;支持 filter、sort、facets、高亮、_geoRadius/_geoBoundingBox 地理搜索、multiSearch 与联邦搜索、tenant token 多租户、rankingRules/typoTolerance/synonyms 等索引设置。
必要用法:用 client.index("name") 获取惰性本地引用(不发网络请求),client.getIndex("name") 才会请求服务器;使用 filter 前必须先配置 filterableAttributes,使用 sort 前必须先配置 sortableAttributes,否则过滤静默返回空、排序被忽略;文档缺少 id 字段时应显式指定主键;.waitTask() 仅用于脚本、种子数据和测试,禁止在生产请求处理器中调用。
适用场景:产品/内容搜索、自动补全、分面筛选、附近搜索与距离排序、多租户共享索引、跨索引同时搜索、实时容错索引。
限制:不适合关系库简单全文检索、日志聚合分析、纯向量语义搜索,以及文档量少于约 1000 条的场景;设置变更会触发全量重建索引;默认 maxTotalHits 为 1000;任务队列约 10 GiB 上限;同义词不作用于过滤器;_geo 字段格式必须为 { lat, lng }。