例如,如果一个人输入查询 – “d dark knight rses”。我想找到最接近的维基百科页面,即 – http://en.wikipedia.org/wiki/The_Dark_Knight_Rises
有哪些可能的方法可以实现这一点?
我能想到的一个简单方法是,在谷歌上搜索给定的查询,并附加上“wikipedia”这个词。然后在结果中查找第一个维基百科页面。如果前五个页面中没有维基百科页面,则返回“抱歉”。
但是,有没有其他更方便的方法或API调用可以避免使用谷歌?
编辑:最近的 – 例如,“d dark night”可能会导致“The Dark Night”或“The Dark Knight”。这两个都是有效的答案。尽管前者与查询更接近,但我认为后者是一个更好的答案,因为这是用户查询可能想要的结果。
回答:
也许你可以使用官方的维基百科API,这里是一个使用dark night
查询的opensearch
调用示例:
$ curl "https://en.wikipedia.org/w/api.php?action=opensearch&search=dark%20night"
这将返回:
[ "dark night", [ "Dark Night", "Dark Night of the Soul", "Dark Night of the Soul (album)", "Dark Night of the Scarecrow", "Dark Night (song)", "Dark Night (film)", "Dark night rises", "Dark night (roller coaster)", "Dark night sky paradox" ]]
更新:另一种方法是下载维基百科数据转储并在本地进行搜索。