对于有使用contentful.com API经验的人,我正在尝试按字段名称进行查询和排序,并且当前收到“ServerError”。针对其示例API生成的查询示例(以“fields.name”作为参数):
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.name&access_token=b4c0n73n7fu1
请注意,如果使用“sys.createdAt”,它可以正常工作......
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=sys.createdAt&access_token=b4c0n73n7fu1
文档很模糊(https://www.contentful.com/developers/documentation/content-delivery-api/javascript/#search-order),我搜索的例子/样本很长很难,但无济于事。
提前感谢任何想法/想法!
答案 0 :(得分:10)
我是Contentful的前端工程师
如果要按特定字段对订单进行排序,则必须通过传递content_type
查询参数将搜索限制为内容类型。
这是因为您要排序的字段可能不存在于所有条目中。例如:
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.name&content_type=cat&access_token=b4c0n73n7fu1
请注意,此示例仍不起作用,因为name
字段的类型为Text
(全文)。全文字段支持全文搜索,但没有排序。相反,您可以使用Symbol
字段。符号支持排序但不支持全文搜索。
例如,这可以起作用,因为color
是一个符号字段:
https://cdn.contentful.com/spaces/cfexampleapi/entries?order=fields.color&content_type=cat&access_token=b4c0n73n7fu1