在维基百科上进行模糊搜索

时间:2015-06-26 07:40:59

标签: wikipedia wikipedia-api fuzzy-search

我试图从维基百科中利用其API检索作者Ag​​atha Christie的页面。维基百科似乎很好地完成了这项工作:

来自https://en.wikipedia.org/wiki/Main_Page 我搜索阿加莎克里斯蒂,我找到了她。

通过API,这似乎是不可能的。我可以尝试从API搜索SandBox构建我的查询:

https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&list=search&srsearch=Agatha%20Christie&utf8=

我找到一个乐队,阿加莎克里斯蒂纪念馆,一些书,没有别的关于她。我无法理解原因。与阿尔伯特爱因斯坦一起,查询有效。

当然搜索API会返回所有匹配的页面,然后我的任务是优化搜索,但为什么在这种情况下没有有用的结果?

1 个答案:

答案 0 :(得分:1)

你只是误读了结果。第一个结果是正确的结果。 https://en.wikipedia.org/wiki/Special:ApiSandbox#action=query&list=search&format=json&srsearch=Agatha%20Christie&srprop=timestamp

        {
            "ns": 0,
            "title": "Agatha Christie",
            "timestamp": "2015-07-06T19:37:15Z"
        },

访问该标题:https://en.wikipedia.org/wiki/Agatha_Christie。这是正确的页面。该片段错误地提取了顶部的消歧信息,«对于乐队,请参阅Agatha Christie(乐队)。对于视频游戏系列,请参阅Agatha Christie(视频游戏系列)»,但它只是一个片段。

有关各种搜索API的概述,包括允许模糊搜索的API(通过CirrusSearch),请参阅https://www.mediawiki.org/wiki/API:Search_and_discovery