2

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

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

但进一步过滤结果以仅包含标题以“d”结尾的条目。因此,在该示例中,将返回“boarhound”、“Saint Bernard”和“unleashed”。

这可以通过 MediaWiki 搜索 API 实现吗?你有什么建议?

4

1 回答 1

2

这在 ElasticSearch/CirrusSearch 中很可能实现,但出于性能原因禁用。您仍然可以在您的 wiki 上使用它,或尝试智能搜索查询

通常对于维基词典,我使用yanker,它可以访问数据库的页表。您的示例(一个字母后缀)会很大,但例如.*hound$发现:

Afghan_hound Bavarian_mountain_hound Foxhound Irish_Wolfhound Mahound Otterhound Russian_Wolfhound Scottish_Deerhound Tripehound basset_hound bearhound black_horehound bloodhound boarhound bookhound boozehound buckhound chowhound coon_hound coonhound covert-hound covert_hound coverthound deerhound double-nosed_andean_tiger_hound elkhound foxhound gazehound gorehound grayhound greyhound harehound heckhound hell-hound hell_hound hellhound hoarhound horehound hound limehound lyam-hound minkhound newshound nursehound otterhound powder_hound powderhound publicity-hound publicity_hound rock_hound rockhound scent_hound scenthound shag-hound sighthound sleuth-hound sleuthhound slot-hound slowhound sluthhound smooth_hound smoothhound smuthound staghound war_hound whorehound wolfhound

于 2015-04-23T08:43:12.987 回答