Skip to content

端点

/api/search/fullTextSearchAssetContent

资源文件内容全文搜索

需要认证 需要付费

接口描述

对已建立索引的资源文件(Assets)内容进行全文搜索。

注意:此功能需要思源笔记付费订阅才能使用。

实现链接

请求参数

参数名类型是否必须描述
querystring搜索的查询语句。根据 method 的不同,可以是关键字、查询语法、SQL 或正则表达式。
typesobject一个对象,键是文件扩展名(如 ".pdf", ".txt"),值是布尔类型,表示是否搜索该类型的文件。
methodnumber搜索方法:0: 关键字 (默认), 1: 查询语法, 2: SQL, 3: 正则表达式。
orderBynumber排序方式:0: 相关度降序 (默认), 1: 相关度升序, 2: 更新时间升序, 3: 更新时间降序。
pagenumber页码,从 1 开始。
pageSizenumber每页结果数量,默认为 50 或由系统配置决定。

返回值

参数名类型描述
codenumber返回码,0 表示成功,非 0 表示失败 (例如未付费返回 1)。
msgstring错误信息,成功时为空字符串。
dataobject包含搜索结果的对象。
data.assetContentsarray匹配到的资源文件信息对象数组。
data.assetContents[].idstring资源文件在内部数据库中的 ID (不是块 ID)。
data.assetContents[].namestring资源文件名。
data.assetContents[].extstring文件扩展名。
data.assetContents[].pathstring资源文件相对于 data/ 目录的路径。
data.assetContents[].sizenumber文件大小 (字节)。
data.assetContents[].hSizestring人类可读的文件大小。
data.assetContents[].updatednumber文件最后更新时间戳 (秒)。
data.assetContents[].contentstring包含搜索关键词的上下文内容片段,关键词会被 <mark> 标签包围。
data.matchedAssetCountnumber总共匹配到的资源文件数量。
data.pageCountnumber总页数。

请求示例

返回示例

请求示例

json
{
  "query": "思源笔记",
  "types": {
    ".pdf": true,
    ".txt": true
  },
  "method": 0,
  "orderBy": 0,
  "page": 1,
  "pageSize": 10
}

返回示例

json
{
  "code": 0,
  "msg": "",
  "data": {
    "assetContents": [
      {
        "id": "20231101100000-abcdef0",
        "name": "产品介绍.pdf",
        "ext": ".pdf",
        "path": "assets/产品介绍.pdf",
        "size": 150000,
        "hSize": "146.48 KB",
        "updated": 1667296800,
        "content": "...本文档介绍了<mark>思源笔记</mark>的主要功能..."
      },
      {
        "id": "20231102110000-ghijkl1",
        "name": "用户手册.txt",
        "ext": ".txt",
        "path": "assets/用户手册.txt",
        "size": 50000,
        "hSize": "48.83 KB",
        "updated": 1667383200,
        "content": "...欢迎使用<mark>思源笔记</mark>,开始你的知识管理之旅..."
      }
    ],
    "matchedAssetCount": 2,
    "pageCount": 1
  }
}