POST/meta-search

meta-search 按字段过滤与排序检索元数据

通过 collection 查询论文、专利、作者和来源等不同实体的元数据。

meta-search 提供元数据检索、筛选、排序和字段选择。通过 collection 指定实体类型,实体类型包括 papers/patents/authors/sources。全文读取使用 content,源文件下载使用 resource。

概述

collection=papers(可省略)查询论文及已接入的文献元数据,可按 DOI、标题、作者、年份、语言、来源等已授权字段筛选;有全文的记录可返回 doc_id。

适用场景

  • · 按 DOI、年份、期刊、语言等筛选文献元数据
  • · 按相关性、发表时间或引用量等可用能力排序
  • · 获取元数据唯一标识;有全文时用 doc_id 继续读取

不适用场景

  • · 不用于直接读取全文或下载二进制资源。
  • · 不提供最终答案;论文正文证据检索请使用 agentic-search。

能力边界

  • · meta-search 返回当前 collection 的实体元数据,不返回正文证据片段。
  • · 使用相同 collection 的 meta-catalog 获取可用字段、类型、算子及筛选、排序和投影能力。
  • · query 可与 sort 共用;传 sort 时按字段硬排,query 用作命中过滤。深翻页须遵守当前 collection 的 cursor 与排序限制。
  • · 各 collection 使用独立字段与授权,返回字段受账号权限约束。

鉴权

统一使用 API Key Bearer Token 鉴权,详见统一鉴权章节。在 HTTP Header 中加入:

Authorization: Bearer YOUR_API_TOKEN

请求示例

论文:关键词、年份筛选

curl -X POST https://api.sciverse.space/meta-search \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "graphene battery cycle stability",
    "filters": [
      {"field": "publication_published_year", "operator": "FILTER_OP_GTE", "value": 2022}
    ],
    "fields": ["title", "doi", "publication_published_year", "publication_venue_name_unified"],
    "page": 1,
    "page_size": 10
  }'

Python 游标翻页

import requests

url = "https://api.sciverse.space/meta-search"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
payload = {
    "query": "graphene battery cycle stability",
    "filters": [
        {"field": "publication_published_year", "operator": "FILTER_OP_GTE", "value": 2022}
    ],
    "fields": ["title", "doi", "publication_published_year", "publication_venue_name_unified"],
    "page_size": 50,
}
while True:
    r = requests.post(url, headers=headers, json=payload).json()
    for it in r["results"]:
        print(it.get("title"))
    if not r.get("next_cursor"):
        break
    payload = {**payload, "cursor": r["next_cursor"]}

论文:按 DOI 精确查询

BASE_URL="${BASE_URL:-https://api.sciverse.space}"
: "${SCIVERSE_API_TOKEN:?Set SCIVERSE_API_TOKEN}"
curl --fail-with-body -sS "${BASE_URL}/meta-search" \
  -H "Authorization: Bearer ${SCIVERSE_API_TOKEN}" \
  -H 'Content-Type: application/json' \
  -d '{
  "collection": "papers",
  "filters": [
    {
      "field": "doi",
      "operator": "FILTER_OP_EQ",
      "value": "10.1038/s41586-021-03819-2"
    }
  ],
  "fields": [
    "unique_id",
    "title",
    "doi"
  ],
  "page_size": 1
}'

请求体(JSON)

FilterItem:{ field, operator?, value },operator 默认 EQ,可选值 FILTER_OP_EQ/NE/GT/GTE/LT/LTE/IN/NIN/CONTAINS/MATCH/MATCH_PHRASE。SortItem:{ field, order },order 默认 SORT_ORDER_DESC。 字段及算子是否可用以当前 collection 的 meta-catalog 为准。

字段类型必填说明
collectionstring可选省略时查询 papers。
默认 papers范围 papers
querystring可选在当前 collection 支持且已授权的元数据字段中检索关键词,不检索原文正文。与 sort 共用时按字段硬排,query 用作命中过滤。
filtersarray<FilterItem>可选字段过滤条件列表。
sortarray<SortItem>可选使用当前 collection 的可排序字段。可与 query 共用;显式 sort 优先于相关性和软加权。
fieldsarray<string>可选选择返回字段;字段名和投影能力以此 collection 的 meta-catalog 为准。
pageinteger可选页码。
默认 1范围 ≥ 1
page_sizeinteger可选每页条数。
默认 25范围 1–200
cursorstring可选游标翻页令牌;与 page>1 互斥。
freshness_boostenum可选模糊搜索新鲜度加权。MILD:近 10 年加权,适合日常查文献;STRONG:近 3 年加权,适合跟踪研究方向 / 追最新进展。仅 query 非空且未传 sort 时生效(传 sort 时硬排优先、本参数被忽略);可与 impact_boost 叠加。实现走 rescore 两阶段(BM25 取候选→对候选套 gauss decay 重排);boost 生效时为浅翻页,不支持 cursor 深翻页。
默认 NONE范围 NONE / MILD / STRONG
impact_boostenum可选模糊搜索影响力加权,让高被引文献在保留相关性的前提下上浮。MILD:轻度上浮,相关性仍主导;STRONG:明显偏向高被引。仅 query 非空且未传 sort 时生效;可与 freshness_boost 叠加(都设非 NONE 即「相关+偏新+高被引」)。实现走 rescore 两阶段,引用因子 = 1 + weight × saturation(citation_count)(乘法、有界、零被引中性);boost 生效时为浅翻页,不支持 cursor 深翻页。
默认 NONE范围 NONE / MILD / STRONG
language_affinityenum可选模糊搜索语言亲和加权:非 query 语言的结果降序(不排除)。目标语言由服务端从 query 文本判定(假名→ja / 谚文→ko / 汉字→zh / 拉丁→en,其他书写系统不生效);语言未知的文献(language 为空/und/zxx)保持中性不降权。MILD:非目标语言 ×0.5,跨语言强相关结果仍可上浮;STRONG:×0.2,几乎只看目标语言。仅 query 非空且未传 sort 时生效;可与 freshness_boost / impact_boost 叠加;boost 生效时为浅翻页。要硬排除某语言请改用 filters 的 language 字段(软硬两层语义不同)。
默认 NONE范围 NONE / MILD / STRONG

字段能力

以下为 papers 论文字段。字段可见性受当前 Token 字段权限影响;点分子字段仅用于 filters / sort,不能放入 fields[] 返回投影。运行期仍建议以 meta-catalog 返回为准。

字段类型筛选检索排序默认投影说明
doc_idstring✓––✓✓全文 artifact 内容哈希(sha256)。仅在文档存在全文时返回;没有全文的元数据记录无 doc_id 字段。要引用元数据记录本身请用 unique_id;要拉全文走 /content 接口必须用 doc_id。
unique_idstring✓––✓✓元数据记录的全局唯一 ID。任何记录都有,与是否有全文无关;适合做引用、去重、跨服务关联(默认返回)。
metadata_typestring✓––✓✓元数据来源类型。论文来源取值 paper,图书来源取值 ebook。
titlestring✓✓–✓✓资源标题 / 题名
abstractstring✓✓–✓✓摘要、简介或内容概述
languagestring✓––✓✓资源语言
doistring✓––✓✓数字对象唯一标识符,主要用于论文等学术资源定位
isbnsarray<string>✓––✓✓图书ISBN列表,可能包含多个ISBN
isbn13string✓––✓✓13位ISBN,图书资源的标准编号
typestring✓––✓✓资源类型或文献类型
authorarray<object>✓––✓✓作者列表(对象数组,子字段 name/orcid)。按作者名过滤:精确走 author.name.keyword,MATCH 模糊走 author.name;过滤时传 field 为 author
contributorsarray<string>✓–––✓贡献者列表,如编者、译者等
locationsarray<object>–––✓✓资源可访问位置、来源链接或馆藏/开放获取位置列表
access_is_oastring✓––✓✓是否开放获取
access_oa_statusstring✓––✓✓开放获取状态
access_oa_urlstring✓––✓✓开放获取URL
access_licensestring✓––✓✓开放获取或使用许可协议
publication_published_datedate✓–✓–✓出版/发表日期(ISO yyyy-MM-dd)。支持区间过滤、按日 sort、按日 freshness_boost。约 19.6% 文档为 YYYY-01-01 占位(只到年),按日精度时聚簇到年初
publication_published_yearinteger✓–✓✓✓出版/发表年份
publication_published_placearray<string>✓–––✓出版地
publication_published_countryarray<string>✓–––✓出版国家/地区
publication_venue_name_unifiedstring✓✓–✓✓规范化后的发表载体名称(消除缩写/大小写/标点噪声)。比 publication_venue_name_unified 更适合精确匹配 / 分组聚合;可作为 venue_name 的替代。
publication_venue_typestring✓––✓✓发表载体类型
publication_venue_issnarray<string>✓––✓✓发表载体ISSN列表
publication_publisherarray<string>✓––✓✓出版方/出版社
publication_venue_biblio_volumestring✓–––✓期刊/会议卷号
publication_venue_biblio_issuestring✓–––✓期刊/会议期号
publication_venue_biblio_pagesstring✓–––✓期刊/会议页码范围
publication_pagesinteger✓–––✓图书页数或资源总页数
keywordsarray<string>✓✓–✓✓关键词列表
primary_topicobject––––✓主要主题信息
topicsarray<object>––––✓主题列表
subjectsarray<string>✓–––✓图书主题词列表
genrearray<string>✓–––✓图书载体/类型列表
reference_countinteger✓–✓✓✓引用文献数:本文引用了多少篇文献
citation_countinteger✓–✓✓✓被引次数:该文章被其他文章引用的次数,是衡量文章影响力的重要指标
influential_citation_countinteger✓–✓✓✓高影响力被引次数
fwcifloat✓–✓✓✓一篇文献的'领域加权引用影响力'Field-Weighted Citation Impact
referencesarray<string>–––✓✓本论文引用的文献列表
related_worksarray<string>–––✓✓本文相关工作列表
citation_normalized_percentileobject–––✓✓一篇文献的'被引百分位',表示该文献的引用次数在其文献类型、出版年份和学科子领域构成的可比集合中所处的百分位位置
cited_by_percentile_yearobject–––✓✓按'出版年份'细分的被引百分位信息。min: 0,max: 100,表示该文献在同年份的所有文献中,位于 99~100 百分位段,即最顶尖 1%
citationsarray<object>––––✓引用本篇论文的文献列表(按需投影,整体下发不按子字段过滤)
primary_topic.idstring✓––––主要主题 OpenAlex topic id(如 https://openalex.org/T11615)。
primary_topic.display_namestring✓––––主要主题显示名精确匹配。
primary_topic.scorefloat✓–✓––主要主题置信度,范围 0-1。
primary_topic.domain.idstring✓––––主要主题所属领域 OpenAlex domain id(如 https://openalex.org/domains/3)。
primary_topic.domain.display_namestring✓––––主要主题所属领域显示名精确匹配。
topics.idstring✓––––topic id(nested;OpenAlex URL 格式)。
topics.display_namestring✓––––topic 显示名精确匹配(nested)。
topics.scorefloat✓–✓––topic 置信度(nested)。
citation_normalized_percentile.valuefloat✓–✓––被引百分位,范围 0-1;0.99 表示前 1%。
citation_normalized_percentile.is_in_top_10_percentboolean✓––––是否在前 10% 被引。
citation_normalized_percentile.is_in_top_1_percentboolean✓––––是否在前 1% 被引。
cited_by_percentile_year.minfloat✓–✓––同年份被引百分位下界,范围 0-100。
cited_by_percentile_year.maxfloat✓–✓––同年份被引百分位上界,范围 0-100。

响应结构

字段类型说明
resultsarray<object>命中的当前类型实体列表,字段随 fields 与账号权限变化。
results[].abstractstring摘要、简介或内容概述
results[].access_is_oastring是否开放获取
results[].access_licensestring开放获取或使用许可协议
results[].access_oa_statusstring开放获取状态
results[].access_oa_urlstring开放获取URL
results[].authorarray<object>作者列表(对象数组,子字段 name/orcid)
results[].citation_countinteger被引次数:该文章被其他文章引用的次数,是衡量文章影响力的重要指标
results[].citation_normalized_percentileobject一篇文献的'被引百分位',表示该文献的引用次数在其文献类型、出版年份和学科子领域构成的可比集合中所处的百分位位置
results[].cited_by_percentile_yearobject按'出版年份'细分的被引百分位信息。min: 0,max: 100,表示该文献在同年份的所有文献中,位于 99~100 百分位段,即最顶尖 1%
results[].contributorsarray<string>贡献者列表,如编者、译者等
results[].doc_idstring全文 artifact 内容哈希(sha256)。仅在文档存在全文时返回;没有全文的元数据记录无 doc_id 字段。要引用元数据记录本身请用 unique_id;要拉全文走 /content 接口必须用 doc_id。
results[].doistring数字对象唯一标识符,主要用于论文等学术资源定位
results[].fwcifloat一篇文献的'领域加权引用影响力'Field-Weighted Citation Impact
results[].genrearray<string>图书载体/类型列表
results[].influential_citation_countinteger高影响力被引次数
results[].isbn13string13位ISBN,图书资源的标准编号
results[].isbnsarray<string>图书ISBN列表,可能包含多个ISBN
results[].keywordsarray<string>关键词列表
results[].languagestring资源语言
results[].locationsarray<object>资源可访问位置、来源链接或馆藏/开放获取位置列表
results[].metadata_typestring元数据来源类型。论文来源取值 paper,图书来源取值 ebook。
results[].primary_topicobject主要主题信息
results[].publication_pagesinteger图书页数或资源总页数
results[].publication_published_countryarray<string>出版国家/地区
results[].publication_published_datedate出版/发表日期(ISO yyyy-MM-dd)。支持区间过滤、按日 sort、按日 freshness_boost。约 19.6% 文档为 YYYY-01-01 占位(只到年),按日精度时聚簇到年初
results[].publication_published_placearray<string>出版地
results[].publication_published_yearinteger出版/发表年份
results[].publication_publisherarray<string>出版方/出版社
results[].publication_venue_biblio_issuestring期刊/会议期号
results[].publication_venue_biblio_pagesstring期刊/会议页码范围
results[].publication_venue_biblio_volumestring期刊/会议卷号
results[].publication_venue_issnarray<string>发表载体ISSN列表
results[].publication_venue_name_unifiedstring规范化后的发表载体名称(消除缩写/大小写/标点噪声)。比 publication_venue_name_unified 更适合精确匹配 / 分组聚合;可作为 venue_name 的替代。
results[].publication_venue_typestring发表载体类型
results[].reference_countinteger引用文献数:本文引用了多少篇文献
results[].referencesarray<string>本论文引用的文献列表
results[].related_worksarray<string>本文相关工作列表
results[].subjectsarray<string>图书主题词列表
results[].titlestring资源标题 / 题名
results[].topicsarray<object>主题列表
results[].typestring资源类型或文献类型
results[].unique_idstring元数据记录的全局唯一 ID。任何记录都有,与是否有全文无关;适合做引用、去重、跨服务关联(默认返回)。
total_countinteger命中总数。
pageinteger当前页。
page_sizeinteger每页条数。
total_pagesinteger总页数。
search_time_msfloat检索耗时(毫秒)。
next_cursorstring下一段 cursor(深翻页用)。

响应示例

{
  "results": [
    {
      "doc_id": "d_2a91...",
      "title": "Cycle stability of graphene composite cathodes",
      "doi": "10.1234/xyz",
      "language": "en",
      "publication_published_year": 2024,
      "publication_venue_name_unified": "Adv. Energy Mater.",
      "citation_count": 42,
      "fwci": 1.84
    }
  ],
  "total_count": 318,
  "page": 1,
  "page_size": 25,
  "total_pages": 13,
  "search_time_ms": 56.4,
  "next_cursor": "eyJvZmZzZXQiOjI1fQ=="
}

错误码

错误码信息说明
400INVALID_REQUEST / INVALID_ARGUMENT参数错误,含非可排序字段作 sort、cursor/page 互斥。
401UNAUTHORIZED / UNAUTHENTICATED鉴权失败。
403PERMISSION_DENIED字段无访问权限,调整 fields 或使用其他 Token。
429RATE_LIMITED触发账号配额限制。
500/502/503/504UPSTREAM_UNAVAILABLE服务异常。

通用错误码请参考「错误码」章节。

参数边界

限制项值
page 下限≥ 1
page_size1–200,默认 25
浅翻页page * page_size ≤ 10000
深翻页使用 cursor;cursor 与 page>1 互斥
query 与 sort可共用:传 sort 按字段硬排(query 退化为命中过滤);不传 sort 时按相关性排序
默认限流未配置账号独立规则时为 30 次 / 分钟

重试建议

  • · 建议重试:502 / 503 / 504
  • · 不应重试:400 / 401 / 403;429 请等待限流窗口恢复或每日额度重置

FAQ

如何确认此类实体可用的查询字段?

调用 meta-catalog 并传 collection=papers,读取当前账号可用的字段、算子、筛选、排序与投影能力。

如何确认字段是否可筛选或排序?

先调用 meta-catalog,读取字段的 filterable、sortable、projectable 和可用 operators。

如何处理深翻页?

浅翻页使用 page 和 page_size;超过公开限制后改用 next_cursor/cursor,避免 page * page_size 过深。

说明

  • · papers 返回的是文献元数据;只有具备可用全文的记录才返回 doc_id,元数据标识使用 unique_id。
  • · 示例默认使用生产地址;验证预览环境时设置 BASE_URL,并将对应环境的 Token 放入 SCIVERSE_API_TOKEN。字段授权以当前 collection 和账号权限为准。
  • · 四类实体使用各自的字段与授权。先查对应 collection 的 meta-catalog,再选择 fields、filters 和 sort;示例不保证当前 token 已获全部字段授权。作者与来源使用 id,不能将其传入 /content。

还没有 API Key?

登录控制台「密钥」即可创建。同一套 API Key 可用于已开通的 Sciverse、点石与 Skills 能力,提供基础试用额度,具体以账号权限为准。

前往控制台