RelatedQuery API

概述

RelatedQuery API是用于管理 Fess 相关查询的API。 您可以为用户输入的搜索关键词(term)注册并管理相关的搜索关键词候选 (queries)。注册的相关查询将在搜索界面中作为相关搜索候选显示。

有关认证方式、通用响应格式(version 字段和 status 状态码)、 分页以及错误响应的详细信息,请参阅 Admin API 概述

基础URL

/api/admin/relatedquery

端点列表

方法 路径 说明
GET /settings 获取相关查询列表
GET /setting/{id} 获取相关查询
POST /setting 创建相关查询
PUT /setting 更新相关查询
DELETE /setting/{id} 删除相关查询

获取相关查询列表

请求

GET /api/admin/relatedquery/settings

参数

参数 类型 必需 说明
size Integer 每页记录数(默认:25。可通过 fess_config.propertiespaging.page.size 更改)
page Integer 页码(从1开始。默认:1)

响应

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "settings": [
      {
        "id": "query_id_1",
        "term": "fess",
        "queries": "fess tutorial\nfess installation\nfess configuration",
        "versionNo": 1
      }
    ],
    "total": 5
  }
}

Note

每条设置均包含 versionNo``(用于乐观锁的版本号)。``virtualHost 以及审计字段(createdBycreatedTimeupdatedByupdatedTime) 仅在有值时才会包含在响应中。值为空的 virtualHost 不会包含在响应中。

获取相关查询

请求

GET /api/admin/relatedquery/setting/{id}

响应

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "setting": {
      "id": "query_id_1",
      "term": "fess",
      "queries": "fess tutorial\nfess installation\nfess configuration",
      "virtualHost": "site1.example.com",
      "versionNo": 1
    }
  }
}

创建相关查询

请求

POST /api/admin/relatedquery/setting
Content-Type: application/json

请求体

{
  "term": "search",
  "queries": "search tutorial\nsearch syntax\nadvanced search",
  "virtualHost": ""
}

字段说明

字段 必需 说明
term 搜索关键词(最多10000个字符)
queries 相关查询。每行一条,以换行符分隔的字符串(空行将被忽略。最多10000个字符)
virtualHost 虚拟主机(最多1000个字符)

Note

crudMode 由API端自动设置,无需包含在请求体中。

响应

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "new_query_id",
    "created": true
  }
}

更新相关查询

请求

PUT /api/admin/relatedquery/setting
Content-Type: application/json

请求体

{
  "id": "existing_query_id",
  "term": "search",
  "queries": "search tutorial\nsearch syntax\nadvanced search\nsearch tips",
  "virtualHost": "",
  "versionNo": 1
}

字段说明

字段 必需 说明
id 待更新的相关查询ID(最多1000个字符)
term 搜索关键词(最多10000个字符)
queries 相关查询。每行一条,以换行符分隔的字符串(空行将被忽略。最多10000个字符)
virtualHost 虚拟主机(最多1000个字符)
versionNo 用于乐观锁的版本号。请指定获取时响应中包含的值

响应

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "existing_query_id",
    "created": false
  }
}

删除相关查询

请求

DELETE /api/admin/relatedquery/setting/{id}

响应

{
  "response": {
    "version": "15.7.0",
    "status": 0
  }
}

错误响应

当请求失败时,status 将被设置为非 0 的值,message 中包含错误内容。 例如,缺少必填字段等验证错误时,status1。 有关状态码的列表,请参阅 Admin API 概述

{
  "response": {
    "version": "15.7.0",
    "status": 1,
    "message": "..."
  }
}

使用示例

产品相关查询

curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "product",
       "queries": "product features\nproduct pricing\nproduct comparison\nproduct reviews"
     }'

帮助相关查询

curl -X POST "http://localhost:8080/api/admin/relatedquery/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "help",
       "queries": "help center\nhelp documentation\nhelp contact support"
     }'

参考信息