我正在尝试在索引上执行下面的查询,但我得到的响应似乎不尊重maxValuesPerFacetParam。理想情况下,我希望使用以下查询检索每个方面的1条记录。现在这是预期的表现吗?
curl -X POST \ ✱
-H "X-Algolia-API-Key: ${API_KEY}" \
-H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
--data-binary "{ \"requests\": [
{ \"indexName\": \"index1\", \"params\": \"query=*&maxValuesPerFacet=1&hitsPerPage=5&facetFilters=(cat:life,cat:politics,cat:sports,cat:ideas,cat:design)\" },
{ \"indexName\": \"index2\", \"params\": \"query=*\" }
]}" \
"https://${APPLICATION_ID}-dsn.algolia.net/1/indexes/*/queries?strategy=none"
答案 0 :(得分:3)
maxValuesPerFacet
不是每个facet值检索的匹配数;而是每个方面的方面值的数量。例如:您有一个category
属性,如果您放置maxValuesPerFacet=2
,则表示检索到的构面最多会有2个值(例如Electronics
和Food
)。
如果您想限制共享特定属性值的结果数量,您应该查看distinct功能,它似乎完全符合您所描述的内容。