5

对于有使用 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),我已经长期努力地搜索示例/示例,但无济于事。

提前感谢您的任何想法/想法!

4

1 回答 1

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
于 2014-10-23T20:05:05.430 回答