如何实现维基百科API搜索结果按相关性排序?
维基百科API实现相关性排序的解决方案
你遇到的UI和API搜索结果不一致,核心原因是当前API请求未指定相关性排序参数——维基百科UI的高级搜索默认按相关性排序,但API的generator=search模块默认采用的是其他排序规则(通常是最后编辑时间)。要实现和UI一致的相关性排序,只需修改API请求参数:
- 在API请求中添加
gsrsort=relevance参数,该参数专门用于控制generator=search的排序逻辑,指定按搜索结果与关键词的匹配度排序。
修改后的完整API请求示例:
https://en.wikipedia.org/w/api.php?action=query&origin=*&generator=search&prop=extracts&gsrsearch=Stack%20Overflow&gsrlimit=20&exintro=1&explaintext=1&exchars=350&exlimit=20&gsrsort=relevance
补充说明:generator=search支持的排序选项包括:
relevance:按关键词匹配度排序(和UI搜索逻辑完全一致)create_timestamp:按页面创建时间排序last_edit_timestamp:按最后编辑时间排序(默认值)
添加gsrsort=relevance参数后,API返回的结果排序就会和你提供的UI搜索结果一致了。
内容的提问来源于stack exchange,提问作者SexyMF
相关产品推荐
相关产品推荐

