文章全文搜索

Baklib
辉哥2 最后一次编辑 接近 2 年前
280

基本信息

接口名称: 全文搜索

接口类型: 数据获取

接口说明: 通过关键字搜索文章

详细信息

URL

https://www.baklib.com/api/v1/articles/search

完整URL示例

https://www.baklib.com/api/v1/articles/search?tenant_id=56735152-7ccd-4ecf-944a-31c3c3d710cd&from=frontend&keywords=%E5%85%83%E6%95%B0%E6%8D%AE

HTTP请求方式

GET

授权认证方式

默认方式,需要添加请求header

Authorization: Bearer <token>

请求参数

参数 必选 类型及范围 说明
tenant_id true Integer 站点id
from require String 从哪里发起搜索, frontend 表示前端,admin 表示管理端
keywords require String 搜索关键字
user_access_level optional Integer 显示特定用户访问等级可见的内容, 值范围 0~10
_page false Integer 需要显示的页码, 默认1
_per_page false Integer 每页显示数量, 默认10, 最大不能超过50

示例代码

// Request (2) (GET https://www.baklib.com/api/v1/articles/search)

jQuery.ajax({
    url: "https://www.baklib.com/api/v1/articles/search",
    type: "GET",
    data: {
        "tenant_id": "56735152-7ccd-4ecf-944a-31c3c3d710cd",
        "from": "frontend",
        "keywords": "元数据",
        "_page": "1",
        "_per_page": "10",
    },
    headers: {
        "Authorization": "Bearer xxxxxxx",
    },
})
.done(function(data, textStatus, jqXHR) {
    console.log("HTTP Request Succeeded: " + jqXHR.status);
    console.log(data);
})
.fail(function(jqXHR, textStatus, errorThrown) {
    console.log("HTTP Request Failed");
})
.always(function() {
    /* ... */
});

返回结果

{
  "code": 0,
  "status": "success",
  "message": {
    "meta": {
      "current_page": 1,
      "total_pages": 1,
      "total_count": 4
    },
    "items": [
      {
        "id": "58fab967-3d3e-43e0-ab52-c209474f0155",
        "name": "元数据",
        "frontend_url": "http://example.baklib-test.com/3f68/f465",
        "slug": "3f68/f465",
        "identifier": "f465",
        "name_highlight": "\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e",
        "search_highlight": "参考来源:https://baike.baidu.com/item/\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e/1946090?fr=kg_qa, . \u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e(Metadata),又称中介\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e、中继\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e,为描述\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e的\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e(data about data),主要是描述\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e属性(property)的信息,用来支持如指示存储位置、历史...",
        "access_level": 0,
        "channels": [
          {
            "id": "bde0fd18-9dc1-4c06-9f81-3c8ff6a5ce08",
            "slug": "",
            "url": "http://example.baklib-test.com",
            "name": "首页",
            "access_level": 0
          },
          {
            "id": "079f2ec2-1180-4296-b7d3-4956b1b9cfb4",
            "slug": "3f68",
            "url": "http://example.baklib-test.com/3f68",
            "name": "名词解释",
            "access_level": 0
          }
        ]
      },
      {
        "id": "2ecb7d62-c7b5-4018-83be-48827e2b4f55",
        "name": "关于元数据与主数据",
        "frontend_url": "http://example.baklib-test.com/3f68/b09a",
        "slug": "3f68/b09a",
        "identifier": "b09a",
        "name_highlight": "关于\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e与主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e",
        "search_highlight": "...erre_/article/details/50542882, . 企业\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e管理的内容和范畴通常包含交易\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e、主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e以及\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e。以下主要讨论主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e、\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e的概念及应用。. 主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e和主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e管理的概念. 企业主\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e是用来描述企业核心业务实体的\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e,比如客户、合作伙伴、员工、产品、物料单、账户...",
        "access_level": 0,
        "channels": [
          {
            "id": "bde0fd18-9dc1-4c06-9f81-3c8ff6a5ce08",
            "slug": "",
            "url": "http://example.baklib-test.com",
            "name": "首页",
            "access_level": 0
          },
          {
            "id": "079f2ec2-1180-4296-b7d3-4956b1b9cfb4",
            "slug": "3f68",
            "url": "http://example.baklib-test.com/3f68",
            "name": "名词解释",
            "access_level": 0
          }
        ]
      },
      {
        "id": "444171ea-cfbc-4d5e-8dcd-9ff9389419f7",
        "name": "第五课:HTML 和 CSS 基础知识",
        "frontend_url": "http://example.baklib-test.com/2022-courses/course-01/af8a",
        "slug": "2022-courses/course-01/af8a",
        "identifier": "af8a",
        "name_highlight": "第五课:HTML 和 CSS 基础知识",
        "search_highlight": "...标签有如下属性:\n\n- `name`: 定义 document 级别的\u003cb class=\"highlight\"\u003e元\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e\u003c/b\u003e,应用到整个页面\n- `http-equiv`: 是一个编程级的属性,通常都是由服务器生成,告诉浏览器该怎么处理这个页面\n- `charset`: HTML5 的新标签,标识本页面的字符集编码,通常网页都会设置为...",
        "access_level": 0,
        "channels": [
          {
            "id": "bde0fd18-9dc1-4c06-9f81-3c8ff6a5ce08",
            "slug": "",
            "url": "example.baklib-test.com",
            "name": "首页",
            "access_level": 0
          },
          {
            "id": "02d162d1-fa00-4cbe-81b2-86f90f67cbe9",
            "slug": "2022-courses",
            "url": "http://example.baklib-test.com/2022-courses",
            "name": "2022年实习教学",
            "access_level": 0
          },
          {
            "id": "f7426b10-73d2-44fc-8311-526b1c0d6de3",
            "slug": "2022-courses/course-01",
            "url": "http://example.baklib-test.com/2022-courses/course-01",
            "name": "第一阶段:基础学习",
            "access_level": 0
          }
        ]
      },
      {
        "id": "47f3efa2-5e97-4d8b-b557-be181a881c63",
        "name": "机器学习-各种工具速查表",
        "frontend_url": "http://example.baklib-test.com/ml/344e",
        "slug": "ml/344e",
        "identifier": "344e",
        "name_highlight": "机器学习-各种工具速查表",
        "search_highlight": "...ncoder(AE):自动编码器,是一种类型的人工神经网络用于学习高效的\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e值编码以无监督方式,通过训练网络忽略信号“噪声”来学习一组\u003cb class=\"highlight\"\u003e数据\u003c/b\u003e的表示(编码),通常用于降维。, Variational AE(VAE):可变自动编码器, Denoising AE(DAE):去噪自动编码器, Sp...",
        "access_level": 0,
        "channels": [
          {
            "id": "bde0fd18-9dc1-4c06-9f81-3c8ff6a5ce08",
            "slug": "",
            "url": "http://example.baklib-test.com",
            "name": "首页",
            "access_level": 0
          },
          {
            "id": "362f1b27-edec-4f93-a1b6-6aa6d5c7e689",
            "slug": "ml",
            "url": "http://example.baklib-test.com/ml",
            "name": "机器学习",
            "access_level": 0
          }
        ]
      }
    ]
  }
}

返回字段说明

返回值字段 字段类型 说明
code Integer 状态码
status String 返回状态
message Hash 返回数据
    meta Hash 列表元数据
        current_page Intger 当前页码
         total_pages Intger 总页数
         total_count Intger 总记录数
     items Array 结果集
         id String 文章编号
         name String 文章标题
         frontend_url String 文章前端访问的链接
         slug String 文章相对路径
         identifier String 文章标识符
         name_highlight String 关键字高亮的文章标题
         search_highlight String 关键字高亮的内容描述
         access_level Integer 文章访问等级
         channels Array 文章所属栏目,从大到小
             id String 栏目编号
             slug String 栏目相对路径
             url String 栏目前端访问链接
             name String 栏目标题
             access_level String 栏目访问等级