API 参考
分面搜索
/facet-search 路由允许您搜索分面值。
/facet-search
路由允许您搜索分面(facet)值。分面搜索支持前缀搜索和错字容忍。返回的结果会按字典序升序排列。您可以通过 faceting
索引设置中的 sortFacetValuesBy
属性来配置分面值的排序方式。
Meilisearch 不支持对数字进行分面搜索。请将数值型分面转换为字符串以使其可搜索。
在内部,Meilisearch 将数字表示为 float64
。这意味着它们缺乏精度且可能有多种表示方式,导致难以有效搜索分面值。
执行分面搜索
在指定分面中搜索分面值。
POST
/indexes/{index_uid}/facet-search
此端点需要先显式将属性添加到 filterableAttributes
列表才能正常工作。在我们的专用指南中了解更多关于分面的信息。
Meilisearch 的分面搜索不支持多词分面,且仅考虑 facetQuery
中的第一个词。
例如,搜索 Jane
会返回 Jane Austen
,但搜索 Austen
不会返回 Jane Austen
。
请求体
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
facetName * | 字符串 | null | 需要搜索值的分面(facet)名称 |
facetQuery | 字符串 | null | 针对特定分面值的搜索查询。如果未指定facetQuery ,Meilisearch会返回搜索分面的所有分面值(最多100条) |
q | 字符串 | "" | 查询字符串 |
filter | 字符串* | null | 根据属性值过滤查询 |
matchingStrategy | 字符串 | "last" | 用于匹配文档中查询词的策略 |
attributesToSearchOn | 字符串数组 | null | 将搜索限制在指定的属性上 |
exhaustiveFacetCount | 布尔值 | false | 返回详尽的分面计数,最多不超过maxTotalHits 定义的限制 |
响应
名称 | 类型 | 描述 |
---|---|---|
facetHits.value | 字符串 | 与 facetQuery 匹配的分面值 |
facetHits.count | 整数 | 具有匹配 value 的分面值的文档数量 |
facetQuery | 字符串 | 原始的 facetQuery 查询字符串 |
processingTimeMs | 数字 | 查询处理时间(毫秒) |