Facet search

    /facet-search 路由允许您搜索 facet 值。Facet search 支持前缀搜索拼写容错。返回的命中结果按字典顺序升序排序。您可以使用faceting索引设置的 sortFacetValuesBy 属性配置 facet 的排序方式。

    数字的 Facet search

    Meilisearch 不支持对数字进行 facet search。将数字 facet 转换为字符串以使其可搜索。

    在内部,Meilisearch 将数字表示为 float64。这意味着它们缺乏精度,并且可以用不同的方式表示,从而难以有效地搜索 facet 值。

    在给定的 facet 中搜索 facet 值。

    POST/indexes/{index_uid}/facet-search
    警告

    如果不先显式地将属性添加到filterableAttributes 列表中,则此端点将不起作用。请参阅我们的专用指南,了解有关 facet 的更多信息。

    警告

    Meilisearch 的 facet search 不支持多词 facet,并且仅考虑 facetQuery 中的第一个词。

    例如,搜索 Jane 将返回 Jane Austen,但搜索 Austen 将不会返回 Jane Austen

    请求体

    名称类型默认值描述
    facetName *字符串null要在其上搜索值的 Facet 名称
    facetQuery字符串null给定 facet 值的搜索查询。如果未指定 facetQuery,Meilisearch 将返回所搜索 facet 的所有 facet 值,限制为 100 个
    q字符串""查询字符串
    filter字符串*null按属性值过滤查询
    matchingStrategy字符串"last"用于匹配文档中查询词的策略
    attributesToSearchOn字符串数组null将搜索限制为指定的属性
    exhaustiveFacetCount布尔值false返回 facet 的详尽计数,最多为 maxTotalHits 定义的限制

    响应

    名称类型描述
    facetHits.value字符串facetQuery 匹配的 Facet 值
    facetHits.count整数具有与 value 匹配的 facet 值的文档数量
    facetQuery字符串原始 facetQuery
    processingTimeMs数字查询的处理时间

    示例

    curl \
      -X POST 'MEILISEARCH_URL/indexes/books/facet-search' \
      -H 'Content-Type: application/json' \
      --data-binary '{
        "facetQuery": "fiction",
        "facetName": "genres",
        "filter": "rating > 3"
      }'

    响应: 200 Ok

    {
      "facetHits": [
        {
          "value": "fiction",
          "count": 7
        }
      ],
      "facetQuery": "fiction",
      "processingTimeMs": 0
    }