首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pubmed eutils搜索的排序选项?

Pubmed eutils搜索的排序选项?
EN

Stack Overflow用户
提问于 2015-11-21 01:07:10
回答 3查看 1.4K关注 0票数 4

我使用BioPython通过eutils API查询Pubmed数据库。esearch端点有一个排序选项,但是API文档没有列出这个值的所有选项。

_

示例呼叫:

代码语言:javascript
复制
Entrez.esearch(db="pubmed", term=search_term, rettype=rettype, retmax=retmax,
               sort=sort_method)

我知道为sort_method工作的值

  • “酒吧约会”
  • “相关性”
  • “第一作者”
  • “最后一个作者”
  • “头衔”
  • “期刊”

但是,我不知道如何指定默认的排序顺序,这是“最近的”;实际上,这似乎是按Pubmed值排序的。“最近”、“最近”、“pmid”、“id”和“default”都给出了OutputMessage“未知排序模式.”。

还有其他人知道如何显式指定默认顺序吗?

EN

回答 3

Stack Overflow用户

发布于 2016-06-17 16:24:38

不是100%确定我是否正确地回答了你的问题。如果不指定排序顺序,则将使用默认排序顺序。

代码语言:javascript
复制
handle = Entrez.esearch(db="pubmed", term='TRPV1')
records = Entrez.read(handle)
print('\n'.join(records['IdList']))

将按照与PubMed网页相同的顺序提供ID。

票数 1
EN

Stack Overflow用户

发布于 2020-07-14 19:12:19

sort='relevance'。如果您转到PubMed站点并在url:https://pubmed.ncbi.nlm.nih.gov/?term=dengue&sort=relevance&size=200中使用sort=relevance,它将使用最佳匹配,如站点上所示。当您使用sort=pubdatesort=date时,它将分别是发布日期和最近日期。

票数 0
EN

Stack Overflow用户

发布于 2022-06-17 08:55:39

如果您的目标只是按照最近的顺序对结果进行排序,那么就不要在esearch()方法中指定排序参数。

这样做:

代码语言:javascript
复制
Entrez.esearch(db="pubmed", term=search_term, rettype=rettype, retmax=retmax)

而不是:

代码语言:javascript
复制
Entrez.esearch(db="pubmed", term=search_term, rettype=rettype, retmax=retmax, sort=sort_method)

您应该得到一堆最新的UID/结果,如Pubmed上所示。虽然与Pubmed上查看的结果相比,可能会发现结果集中缺少一些UID,但Pubmed和Entrez似乎使用不同的索引来显示结果。这一部分已经在对话中进行了讨论。

如果您想检索最近的文章,sort="pub date"可能会导致您意想不到的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33838552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档