tzlion/wiktionator

英语维基词典单词类别查找与随机化

v0.1.0 2018-09-08 22:45 UTC

This package is auto-updated.

Last update: 2024-09-09 14:03:53 UTC


README

英语维基词典单词类别查找工具。可能对某些应用程序有用,我主要用于愚蠢的推特机器人。可以从类别中获取随机单词,并获取指定单词的类别信息。

可以在实时API或MySQL数据库上操作(初步)

使用方法

从API

要使用它与实时维基词典API,只需实例化 TzLion\Wiktionator\ApiWiktionator 并调用所需的任何方法。

从数据库

您还可以使用MySQL数据库中维基词典数据的副本,该数据库来源于官方DB转储之一。如果您的应用程序需要执行大量查找,这将比调用API快得多。但这也是非常初步的,您需要提供并托管自己的(大型)数据库。

使用如下连接详细信息实例化 TzLion\Wiktionator\DbWiktionator

new TzLion\Wiktionator\DbWiktionator(['hostname', 'username', 'password', 'database_name'])

目前您的数据库将需要以下表:categorycategorylinkspage(来自enwiktionary的官方转储)。您还可以删除未使用的列以节省空间。

具有后备的数据库

如果您想先尝试数据库,但无法连接则回退到API,可以使用如上所述的数据库连接详细信息调用 TzLion\Wiktionator\Wiktionator::getInstance。如果您不提供连接详细信息,则始终会得到API版本。

方法

除非另有说明,否则这些方法在API或数据库版本上应相同。

  • getWordPage 仅API! 获取给定单词的完整维基词典页面。
  • isWordInCategory 检查给定单词是否在给定类别中。
  • getWordCategories 获取给定单词所在的全部类别。
  • getRandomWordInCategory 获取给定类别中的随机单词。
    注意,在使用数据库时,这里的随机性要好得多,因为API本身不提供此功能,所以我们不得不进行某种程度的模拟。
  • wordExistsInLanguage 检查给定单词是否存在于给定语言中。