gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 06:53:00 25 4
gpt4 key购买 nike

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

如果输入的标题完全正确,它会正常工作,但如果有拼写错误或类似错误,它会返回一个没有内容的 xml 文件。

这是我用来查询的网址: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)

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

然后,如果我在维基百科上错误地输入了搜索字符串,例如“土木工程”,它会显示“没有页面匹配该内容 - 您的意思是“土木工程”吗?”我可以单击该字符串前往正确的页面。 (http://en.wikipedia.org/w/index.php?search=civul+engineering&title=Special%3ASearch&go=Go)

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

<api>
<query>
<normalized>
<n from="civul engineering" to="Civul engineering"/>
</normalized>
<pages>
<page ns="0" title="Civul engineering" missing=""/>
</pages>
</query>
</api>

没有建议的重定向或任何内容。如何提取最接近的结果,而不是仅提取与字符串完全匹配的结果?

最佳答案

不要使用需要现有标题revisions API,而是使用search query api甚至是opensearch api .

关于MediaWiki 返回查询字符串的最佳匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24185009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com