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