
# 搜索知识库
#### 功能介绍
根据query，在指定知识库中搜索得到topN相关的分片文档。
#### URI
POST /v1/koosearch/experience/search
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                           |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 接口鉴权使用的Token，Token获取方式参考：3.2节 认证鉴权。 **约束限制：** 不涉及。 |
   
表2请求Body参数 
| 参数             | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| repo_id        | 是    | String           | **参数解释：** 知识库ID。 获取方式： 账号登录KooSearch体验平台，在左侧导航栏选择："知识库管理" ，在此界面获取"知识库ID"字段的值，表示该知识库在向量数据库中存储的ID，具有唯一性。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                  |
| extra_repo_ids | 否    | Array of strings | **参数解释：** 引用知识库标识列表，用于支持多个知识库联合检索的场景。 **约束限制：** 不限制。                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| content        | 是    | String           | **参数解释：** 搜索query。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| page_num       | 是    | Integer          | **参数解释：** 返回结果的总页码数，范围1\~1000。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| page_size      | 是    | Integer          | **参数解释：** 返回结果的页面大小，范围1\~9000，单位：条/页。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| filter_string  | 否    | String           | **参数解释：** 带语法的查询字符串，使用具有严格语法的解析器，根据提供的查询字符串返回文档。 例如：*tags:(教育 OR 金融) AND category:"行业知识"* 例如：需要依据文件ID过滤分片，则使用：*"fileId": "f6a050ffef5512e80a6dea57e386f194"* **约束限制：** 1.支持布尔运算符 AND、OR 和 NOT（也写为 \&\&、\|\| 和 !），但请注意它们不遵守通常的优先级规则，因此只要一起使用多个运算符，就应使用括号。 2.保留字符查询时需要使用 *\\\\* 转义：*+ - = \&\& \|\| \> \< ! ( ) { } \[ \] \^ " \~ \* ? : \\ /* ，如*\\\\!* 3.[详细语法参考query_string语法](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax) |
| scope          | 否    | String           | **参数解释：** 确定搜索范围，目前支持三个配置。 **取值范围：** doc：文档知识，使用query2doc模型。 faq：FAQ，常见问答集，使用query2query模型。 web：网络来源，来自于web搜索引擎。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                        |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数       | 参数类型                                                                          | 描述                                     |
|:---|:---|:---|
| doc_list | Array of [ChatReferenceInfo] objects | 搜索到的文档分片列表。                            |
| total    | Integer                                                                       | **参数解释：** 搜索到的参考文档分片总数。 **约束限制：** 不涉及。 |
   
 表4ChatReferenceInfo 
| 参数               | 参数类型             | 描述                                                                                                    |
|:---|:---|:---|
| file_id          | String           | **参数解释：** 参考文档片段来源的文档ID（或FAQ ID）。 **约束限制：** 不涉及。                                                      |
| title            | String           | **参数解释：** 参考文档片段来源的文档标题。 **约束限制：** 不涉及。                                                               |
| content          | String           | **参数解释：** 参考文档片段内容。 **约束限制：** 不涉及。                                                                    |
| big_content      | String           | **参数解释：** 参考文档内容上下文，比如未分片的原始表格。 注意： （1）搜索接口可能有值。 （2）问答接口会将big_content替换到content，此字段清空。 **约束限制：** 不涉及。 |
| update_date_time | String           | **参数解释：** 参考文档分片的更新时间。 **约束限制：** 不涉及。                                                                 |
| doc_type         | String           | **参数解释：** 参考分片来源文档的类型（doc-文档，faq-问答）。 **约束限制：** 不涉及。                                                  |
| file_path        | String           | **参数解释：** 参考分片来源文档的归档路径。 **约束限制：** 不涉及。                                                               |
| category         | String           | **参数解释：** 文档目录，单值，对应目录树中的叶子节点。 **约束限制：** 不涉及。                                                         |
| tags             | Array of strings | **参数解释：** 文档标签列表。 **约束限制：** 不涉及。                                                                      |
| score            | Float            | **参数解释：** query和当前参考分片的相关度打分，分值越高代表越相关。 **约束限制：** 不涉及。                                                |
| subtitle         | String           | **参数解释：** 当前参考分片在原文中的子标题。 **约束限制：** 不涉及。                                                              |
| repo_id          | String           | **参数解释：** 当前知识库ID。 **约束限制：** 不涉及。                                                                     |
| chunk_id         | String           | **参数解释：** 当前参考文档分片的ID。 **约束限制：** 不涉及。                                                                 |
| page_num         | Integer          | **参数解释：** 当前参考分片位于文档内的第几页。 **约束限制：** 不涉及。                                                             |
| component_num    | Integer          | **参数解释：** 当前参考分片位于文档内的第几个分片。 **约束限制：** 不涉及。                                                           |
   
#### 请求示例
```
POST https://{endpoint}/v1/koosearch/experience/search
{
  "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
  "content" : "发动机异常",
  "page_num" : 1,
  "page_size" : 10,
  "scope" : "doc",
  "extra_repo_ids" : [ ]
}
```
#### 响应示例
**状态码：200**
搜索结果返回体
```
{
  "doc_list" : [ {
    "file_id" : "b7947c56436d29bf7671844d7f57371e",
    "chunk_id" : "0512b8fe109941208de99b4470ab2de3",
    "title" : "发动机异常.txt",
    "subtitle" : "发动机异常\n1. 发动机启动失败：",
    "content" : "这可能是因为发动机清洗过程中水分渗入了分电器、点火模块、火花塞或高压线等关键部件。\n损坏的火花塞同样可能阻止发动机启动。\n蓄电池电量匮乏也是一个不可忽视的原因。\n此外，惯性开关的断开亦可能引发启动难题。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/b7947c56436d29bf7671844d7f57371e/发动机异常.txt",
    "category" : "",
    "update_date_time" : "1731049431522",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 2,
    "score" : 0.99415743
  }, {
    "file_id" : "b7947c56436d29bf7671844d7f57371e",
    "chunk_id" : "4c6f4eabbc1c44099ff2f1db3a9f8987",
    "title" : "发动机异常.txt",
    "subtitle" : "发动机异常",
    "content" : "发动机出现异常状况往往源于多重因素，下面列举了一些典型状况以及它们的潜在缘由：",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/b7947c56436d29bf7671844d7f57371e/发动机异常.txt",
    "category" : "",
    "update_date_time" : "1731049431522",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 1,
    "score" : 0.98771137
  }, {
    "file_id" : "b7947c56436d29bf7671844d7f57371e",
    "chunk_id" : "ed56718be0864f15a17ec209a3ba07ca",
    "title" : "发动机异常.txt",
    "subtitle" : "发动机异常\n3. 高速行驶中方向盘出现抖动：",
    "content" : "若轮胎在拆装后未经过动平衡检测，高速行驶时方向盘可能会出现抖动。\n轮轱上平衡块的脱落亦可能为抖动诱因。\n另外，车轮上附着的泥块或轮轱因撞击产生的变形，同样可能导致方向盘的不稳定。\n请注意，以上所述仅供参考。面对发动机的任何异常，建议立即寻求专业维修人员的帮助，以确保行车安全。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/b7947c56436d29bf7671844d7f57371e/发动机异常.txt",
    "category" : "",
    "update_date_time" : "1731049431522",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 4,
    "score" : 0.95791227
  }, {
    "file_id" : "b7947c56436d29bf7671844d7f57371e",
    "chunk_id" : "fa3bdf2e57344327bf4c8466e6f54c9a",
    "title" : "发动机异常.txt",
    "subtitle" : "发动机异常\n2. 换挡时发动机突然熄火：",
    "content" : "过低的怠速可能是换挡熄火的罪魁祸首。\n若怠速截止阀未能紧固，也可能导致此类问题。\n同时，挡位选择过高或油气分离器严重堵塞都是潜在的熄火原因。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/b7947c56436d29bf7671844d7f57371e/发动机异常.txt",
    "category" : "",
    "update_date_time" : "1731049431522",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 3,
    "score" : 0.9533619
  }, {
    "file_id" : "22b179b9de0ad941215cc7f052ab10f8",
    "chunk_id" : "483faffeeb284d20a23378a7d18e9ff1",
    "title" : "发动机故障有哪些问题和现象.txt",
    "subtitle" : "发动机故障有哪些问题和现象",
    "content" : "1. 启动困难：发动机无法顺利启动，可能因为电池电量不足、火花塞问题或燃油系统堵塞等原因。\n2. 怠速不稳：发动机在怠速状态下运行不稳定，可能导致熄火或者抖动严重。可能是由于空气进气系统、燃油系统或点火系统的问题。\n3. 动力减弱：发动机加速性能下降，爬坡能力降低，可能是由于燃油系统、点火系统或排气系统等问题导致的。\n4. 油耗增加：发动机燃油消耗异常增加，可能是由于燃油系统、点火系统或传感器等问题引起的。\n5. 异响：发动机运行过程中出现异常噪音，可能是由于机械部件磨损、润滑系统问题或皮带松动等原因造成的。\n6. 过热：发动机温度过高，可能导致过热保护开关启动，使发动机停止运行。可能是由于冷却系统故障、水泵故障或散热器堵塞等原因造成的。\n7. 漏油：发动机内部或外部出现燃油、机油或其他液体泄漏现象，可能是由于密封件老化、紧固件松动或油路堵塞等原因造成的。\n8. 烧机油：发动机机油消耗过多，可能是由于活塞环磨损、气门油封损坏或曲轴箱通风系统故障等原因造成的。\n9. 排放超标：发动机尾气排放超过国家标准，可能是由于燃油系统、点火系统或排气系统等问题引起的。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/22b179b9de0ad941215cc7f052ab10f8/发动机故障有哪些问题和现象.txt",
    "category" : "",
    "update_date_time" : "1731049431328",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 1,
    "score" : 0.81047887
  }, {
    "file_id" : "22b179b9de0ad941215cc7f052ab10f8",
    "chunk_id" : "389497084e3f44e589b635f9a1ef4f2f",
    "title" : "发动机故障有哪些问题和现象.txt",
    "subtitle" : "发动机故障有哪些问题和现象",
    "content" : "10. 传感器故障：发动机控制系统中的一些传感器出现故障，可能导致发动机运行不稳定、性能下降或报警灯亮起等现象。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/22b179b9de0ad941215cc7f052ab10f8/发动机故障有哪些问题和现象.txt",
    "category" : "",
    "update_date_time" : "1731049431328",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 2,
    "score" : 0.74223495
  } ],
  "total" : 6
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 搜索结果返回体 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。
