首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaWiki返回查询字符串的最佳匹配

MediaWiki返回查询字符串的最佳匹配
EN

Stack Overflow用户
提问于 2014-06-12 20:56:53
回答 1查看 758关注 0票数 3

我想在维基百科的api中加入我自己的搜索栏。给定用户输入的字符串,它应该返回wikipedia页面中与该搜索字符串最匹配的第一部分。

如果输入的标题恰好是正确的页面,它就可以很好地工作,但是如果有打字错误或类似错误,它会返回一个没有内容的xml文件。

这是我用来查询的url:http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=TITLE_GOES_HERE&format=xml

一个例子是查找关于土木工程的页面。(http://en.wikipedia.org/wiki/Civil_engineering)

如果我在维基百科上搜索土木工程,我会发现它没有问题。如果我用我的url搜索它也是一样的:http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=civil+engineering&format=xml

然后,如果我在维基百科上错误地将我的搜索字符串输入为“civil my”,它会显示“没有与之匹配的页面--您是指'civil engineering‘吗?”我可以点击它转到正确的页面。(http://en.wikipedia.org/w/index.php?search=civul+engineering&title=Special%3ASearch&go=Go)

但是,如果我在查询url中犯了同样的错误,它将返回以下xml:

代码语言:javascript
复制
<api>
    <query>
        <normalized>
            <n from="civul engineering" to="Civul engineering"/>
       </normalized>
       <pages>
            <page ns="0" title="Civul engineering" missing=""/>
       </pages>
    </query>
</api>

没有建议的重定向或任何东西。如何拉取最接近的结果,而不是只拉出与字符串完全匹配的结果?

EN

回答 1

Stack Overflow用户

发布于 2014-06-12 21:38:41

不要使用需要现有titlerevisions api,而要使用search query api甚至opensearch api

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

https://stackoverflow.com/questions/24185009

复制
相关文章

相似问题

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