`type=related`模式在AnQiCMS文档列表接口中如何使用,以获取相关文章?

📅 👁️ 83

在网站内容运营中,为用户提供相关文章推荐是提升用户体验、延长访问时长以及优化内容发现的重要策略。AnqiCMS的文档列表接口(archive/list)提供了一个非常便捷的功能,通过设置type=related参数,就能轻松实现这一目标。

理解 type=related 模式

当用户浏览完一篇文档(文章、产品等)后,通常会希望能找到更多与当前内容主题相近、信息互补的资料。AnqiCMS的archive/list接口正是为此设计。它允许你通过一个简单的参数,向系统请求与指定文档“相关”的其他文档列表。

这个功能的调用地址是: {域名地址}/api/archive/list

请求方法为:GET

它的核心在于以下几个参数的配合使用:

  1. type=related:这是最关键的参数,它明确告诉AnqiCMS接口,你期望获取的是与某个特定文档相关的推荐内容,而非普通的列表分页或全部列表。
  2. id:当type设置为related时,这个id参数是必需的。它指定了你想要获取“相关文章”的那个当前文档的ID。AnqiCMS会以这个ID为基准,智能地匹配出其他相关联的内容。
  3. moduleId:虽然不是必填,但强烈建议您指定。如果您的网站有多个文档模型(如文章模型、产品模型等),明确moduleId可以确保AnqiCMS只在当前文档所属的模型中查找相关文章,避免推荐跨模型的、可能不相关的文档。
  4. categoryId:同样是可选参数,但对提升相关性非常有帮助。通过指定当前文档的categoryId,您可以将相关文章的查找范围限定在同一分类下,这通常能提供更精准的推荐。
  5. limit:用于控制返回的相关文章数量,例如设置limit=5,接口将最多返回5篇相关文章。
  6. order:您可以利用这个参数来对相关文章进行排序。例如,order=views desc可以获取当前文档所属分类下浏览量最高的相关文章,或者order=created_time desc来显示最新发布的相关文章。

如何获取相关文章的实战步骤

假设您正在开发一个文章详情页,需要在此页面的底部推荐5篇与当前文章相关的文章。

第一步:获取当前文章的ID

首先,您需要知道当前用户正在浏览的文章的ID。这个ID通常在您通过archive/detail接口获取文章详情时就能得到。例如,如果当前文章的ID是123

第二步:构建API请求

接下来,您可以构造一个针对archive/list接口的GET请求,并带上必要的参数。

一个典型的请求URL可能如下所示:

GET {域名地址}/api/archive/list?id=123&type=related&moduleId=1&categoryId=45&limit=5&order=views%20desc

  • id=123:假设当前文章的ID是123。
  • type=related:指定获取相关文章。
  • moduleId=1:假设当前文章属于ID为1的文章模型。
  • categoryId=45:假设当前文章属于ID为45的分类。这有助于将推荐文章限定在同一分类下。
  • limit=5:限制只返回5篇相关文章。
  • order=views%20desc:按浏览量从高到低排序,推荐热门相关文章。

第三步:处理返回数据

AnqiCMS会返回一个JSON格式的数据,其中data字段是一个数组,包含了相关文章的详细信息,例如:

{
  "code": 0,
  "data": [
    {
      "id": 124,
      "title": "相关文章标题一",
      "url_token": "related-article-one",
      "description": "这是相关文章一的简介...",
      "logo": "https://...",
      "link": "https://yourdomain.com/article/124.html"
    },
    {
      "id": 125,
      "title": "相关文章标题二",
      "url_token": "related-article-two",
      "description": "这是相关文章二的简介...",
      "logo": "https://...",
      "link": "https://yourdomain.com/article/125.html"
    }
    // ... 更多相关文章
  ],
  "msg": ""
}

您可以遍历data数组,提取每篇文章的标题、链接、缩略图等信息,并在页面上展示出来。

优化与**实践

  • 提升相关性精准度:AnqiCMS会根据当前文章的分类、关键词等信息来判断相关性。因此,在发布文章时,务必准确填写分类和关键词,这将直接影响type=related模式的推荐效果。
  • 控制展示数量:页面上相关文章的数量不宜过多,通常5-10篇是比较合适的范围,可以通过limit参数进行控制。过多的推荐反而可能分散用户注意力。
  • 多样化排序:除了默认排序,尝试使用order参数,例如按views desc(浏览量降序)推荐热门文章,或按created_time desc(发布时间降序)推荐最新文章,增加推荐的多样性。
  • 缓存机制:对于频繁访问的文章页面,相关文章列表的数据可以考虑在前端或服务器端进行缓存,以减少每次页面加载时对API的请求,提升网站性能。

通过熟练运用type=related模式,您可以为AnqiCMS驱动的网站带来更强的内链结构和更佳的用户浏览体验,让您的内容更好地被发现和利用。


常见问题 (FAQ)

Q1: 为什么我设置了 type=related 但接口返回的 data 数组是空的? A1: 返回空数组通常有几个原因。首先,请检查您是否正确传递了当前文章的 id 参数,这是type=related模式进行相关性匹配的唯一基准。如果id无效或缺失,接口将无法工作。其次,AnqiCMS会尝试根据文章的分类、关键词等信息进行匹配,如果当前文章缺乏这些关联信息,或者数据库中确实没有足够的相关文章可以推荐,也可能导致返回空列表。您可以尝试为文章添加更多相关标签和关键词,并确保有足够的其他内容与它形成关联。

Q2: type=related 是如何判断文章相关性的?我能自定义相关性匹配的算法吗? A2: AnqiCMS内部通常会基于文章的共同分类、标签、关键词等元数据进行匹配,以智能地识别相关内容。这是一个内置的逻辑,旨在提供开箱即用的相关推荐功能。目前,AnqiCMS的API接口并未提供直接自定义相关性匹配算法的选项。但是,您可以通过精心规划文章的分类体系、准确设置文章的标签和关键词,以及为文章内容本身增加更多上下文信息,来间接影响和优化相关文章的推荐效果。

Q3: 如果我只想在某个特定分类下获取相关文章,应该怎么做? A3: 如果您希望将相关文章的范围限制在某个特定分类下,除了设置type=related和当前文章的id之外,还应该同时提供categoryId参数,并将其值设置为当前文章所属的分类ID。例如:`id=123&type=related&categoryId=

相关文章

如何在前端页面构建AnQiCMS文档列表的分页导航(`page`和`total`参数)?

在网站前端展示大量文档时,分页导航是提升用户体验和管理数据加载效率的关键功能。安企CMS(AnQiCMS)提供了强大且灵活的API接口,让您能够轻松地在前端实现文档列表的分页功能。本文将详细介绍如何利用`archive/list`接口中的`page`和`total`参数,构建一个功能完善的分页导航。 --- ### 理解安企CMS分页机制的核心 要构建文档列表的分页导航

2025-11-09

AnQiCMS文档列表中,`images`、`logo`和`thumb`字段各代表什么,应如何使用?

在使用安企CMS管理网站内容时,我们经常会遇到涉及图片上传和展示的场景。在文档(文章、产品等)、分类乃至单页的数据结构中,`images`、`logo` 和 `thumb` 这三个字段扮演着不同的角色,它们协同工作,共同支撑着网站视觉内容的有效呈现和性能优化。理解它们的具体用途,能帮助我们更好地规划内容、优化用户体验。 ### `images`:多图展示与内容丰富 `images`

2025-11-09

`archive/list`接口返回的`extra`字段如何处理,以获取自定义字段信息?

在使用安企CMS进行网站内容管理时,我们常常需要展示除了标题、简介、缩略图等常规信息之外的更多个性化数据。这些额外的信息,比如文章的作者、产品的型号、发布地点等等,正是通过安企CMS强大的自定义字段功能来实现的。那么,当我们在前端通过`archive/list`接口获取文档列表时,如何优雅地提取和利用这些自定义字段呢?答案就隐藏在返回数据中的`extra`字段里

2025-11-09

如何利用`q`参数在AnQiCMS文档列表中进行关键词搜索,实现站内搜索功能?

在日常的网站运营中,为用户提供高效便捷的站内搜索功能,是提升用户体验、引导内容发现的关键一环。对于使用安企CMS(AnQiCMS)来管理网站内容的我们而言,实现这一功能并非难事。安企CMS提供了一个非常实用的参数——`q`,让我们能够轻松地在文档列表中进行关键词搜索。 ### 开启站内搜索之旅:理解 `q` 参数 在安企CMS的文档列表接口(`/api/archive/list`)中,`q`

2025-11-09

AnQiCMS文档列表返回的`created_time`和`updated_time`是Unix时间戳吗,如何转换为可读日期?

在使用AnQiCMS时,我们经常会从API接口获取文档或其他内容的详细信息或列表。在这些返回数据中,`created_time`(创建时间)和`updated_time`(更新时间)是两个非常关键的字段。许多用户可能会好奇,这些看起来像一串数字的值到底是什么?它们其实是标准的Unix时间戳。 ### 理解Unix时间戳 Unix时间戳,又称Posix时间

2025-11-09

`archive/list`接口返回的`status`字段,如何判断文档的可见性或审核状态?

在安企CMS中,内容管理的核心之一就是对文档状态的把控,这直接关系到网站内容的可见性和审核流程。当您通过`archive/list`接口获取文档列表时,返回数据中的`status`字段便承担着这一关键职责。理解这个字段的含义,能帮助您更高效地管理网站内容,并确保信息以正确的方式呈现给访问者。 ### `status`字段

2025-11-09

如何结合`archiveFilters.md`获取的筛选条件,应用到`archive/list`的自定义筛选参数中?

在安企CMS中,高效地管理和展示网站内容是提升用户体验的关键。当内容量日益增长时,提供灵活的筛选功能,帮助访客快速找到所需信息,显得尤为重要。安企CMS为此提供了强大的API接口支持,通过巧妙地结合`archive/filters`接口获取的筛选条件,并将其应用到`archive/list`接口的自定义筛选参数中,我们可以构建出极其实用的内容筛选功能。 ###

2025-11-09

当`archive/list`返回`code`为`-1`时,`msg`字段会给出哪些错误信息?

在使用安企CMS进行网站内容管理时,我们经常会与各项API接口打交道,其中 `archive/list` 接口是获取文档列表的核心。在使用过程中,您可能会遇到接口返回 `code` 为 `-1` 的情况。此时,理解 `msg` 字段提供的信息就显得尤为重要,它能帮助我们快速定位问题所在。 当 `archive/list` 接口返回 `code: -1` 时,这意味着请求未能成功执行

2025-11-09