我正在构建一个应用程序,希望它将使用维基词典的单词和定义作为数据源。在我的查询中,我希望能够搜索与标题或定义中用户提供的术语相似的所有Wiktionary条目,但其标题以指定的后缀(或一组后缀之一)结尾。

例如,我要查找所有包含单词“large dog”的维基词典条目,如下所示:
https://en.wiktionary.org/w/api.php?action=query&list=search&srsearch=large%20dog

但是,请进一步过滤结果以仅包含标题以“d”结尾的条目。因此,在该示例中,将返回“猎狗”,“圣伯纳德”和“释放”。

MediaWiki搜索API有可能吗?你有什么建议?

最佳答案

使用ElasticSearch / CirrusSearch多数情况下可以实现,但是使用disabled for performance reasons。您仍然可以在Wiki或attempt smart search queries上使用它。

通常对于Wiktionary,我使用yanker,它可以访问数据库的页表。您的示例(一个字母的后缀)可能很大,但是例如 .*hound$ 发现:
Afghan_houndBavarian_mountain_houndFoxhoundIrish_WolfhoundMahoundOtterhoundRussian_WolfhoundScottish_DeerhoundTripehoundbasset_houndbearhoundblack_horehoundbloodhoundboarhoundbookhoundboozehoundbuckhoundchowhoundcoon_houndcoonhoundcovert-houndcovert_houndcoverthounddeerhounddouble-nosed_andean_tiger_houndelkhoundfoxhoundgazehoundgorehoundgrayhoundgreyhoundharehoundheckhoundhell-houndhell_houndhellhoundhoarhoundhorehoundhoundlimehoundlyam-houndminkhoundnewshoundnursehoundotterhoundpowder_houndpowderhoundpublicity-houndpublicity_houndrock_houndrockhoundscent_houndscenthoundshag-houndsighthoundsleuth-houndsleuthhoundslot-houndslowhoundsluthhoundsmooth_houndsmoothhoundsmuthoundstaghoundwar_houndwhorehoundwolfhound

09-25 17:39