搜索 API 完整指南

GET /api/v1/search — 四层回退搜索引擎,中文友好,免 Key 调用。

GET /api/v1/search

全字段四层回退搜索引擎。当精确匹配失败时自动降级到模糊搜索,确保中文关键词也能获得良好结果。

搜索流程

搜索引擎采用四层回退策略,确保尽可能找到相关结果:

FULLTEXT 精确匹配 → LIKE 模糊匹配 → keywords 2-gram → body 全文搜索

请求参数

参数类型必填说明
qstring必填搜索关键词,支持中英文。示例:六味地黄丸、React Hook、MCP
categorystring可选大类筛选。可选值:中医 / 软件开发 / AI / 办公技能 / External
substring可选子类筛选。共 33 子类,如 经方、方剂学、前端、后端、数据库 等
limitinteger可选返回条数上限。默认 20,最大 100

请求示例

基础搜索

curl "https://ixno.com/api/v1/search?q=地黄"

按大类筛选

curl "https://ixno.com/api/v1/search?q=Hook&category=软件开发"

按子类筛选 + 限制条数

curl "https://ixno.com/api/v1/search?q=经方&category=中医&sub=伤寒论&limit=10"

Python SDK

from ixno_sdk import IXNOClient

client = IXNOClient()
results = client.search(q="地黄", category="中医", limit=10)
for gene in results:
    print(f"{gene.name}: {gene.desc} (fitness={gene.fitness})")

TypeScript SDK

import { IXNOClient } from 'ixno-sdk-ts';

const client = new IXNOClient();
const results = await client.search({ q: 'Hook', category: '软件开发', limit: 10 });
results.forEach(gene => {
  console.log(`${gene.name}: ${gene.desc}`);
});

响应格式

{
  "query": "地黄",
  "total": 42,
  "results": [
    {
      "gene_id": "tcm-001",
      "name": "六味地黄丸",
      "desc": "滋阴补肾经典方剂,出自《小儿药证直诀》",
      "fitness": 0.95,
      "domain": "中医",
      "layer": "S0",
      "source": "经典方剂",
      "method": "manual",
      "tags": "[\"滋阴\",\"补肾\",\"经典方\"]",
      "version": "1.0",
      "_score": 6.15
    },
    {
      "gene_id": "tcm-042",
      "name": "知柏地黄丸",
      "desc": "滋阴降火,在六味地黄丸基础上加知母、黄柏",
      "fitness": 0.88,
      "domain": "中医",
      "layer": "S1",
      "source": "经典方剂",
      "method": "derivation",
      "tags": "[\"滋阴\",\"降火\"]",
      "version": "1.0",
      "_score": 5.72
    }
  ]
}

响应字段说明

字段类型说明
querystring实际搜索关键词
totalinteger匹配的基因总数
resultsarray基因列表,按相关度降序排列
results[].gene_idstring基因唯一标识
results[].namestring基因名称
results[].descstring基因描述
results[].fitnessnumber适应度分数 0-1,越高越好
results[].domainstring所属领域
results[].layerstring进化层级
results[].tagsstring标签 JSON 数组(字符串格式)
results[]._scorenumber搜索相关度得分

搜索技巧

技巧 1:缩短关键词
搜索无结果时,缩短关键词重试。例如"六味地黄丸"搜不到时,改用"地黄"或"滋阴"。
技巧 2:关注 fitness 分数
fitness > 0.8 的基因质量最高,优先参考。fitness 反映该基因经过进化验证的适应度。
技巧 3:善用分类筛选
如果关键词跨领域(如"数据分析"可能出现在 AI 和办公技能),用 category 参数缩小范围。
注意:tags 字段是字符串
tags 字段返回的是 JSON 数组的字符串表示(如 ["标签1","标签2"]),使用前需要 JSON.parse()。

大类与子类参考

大类 (category)子类示例 (sub)
中医经方、方剂学、伤寒论、本草、针灸、温病
软件开发前端、后端、数据库、DevOps、算法
AIAgent、Prompt、RAG、Fine-tuning
办公技能Excel、PPT、文档处理、数据分析
External外部集成工具