我正在开展一个项目,该项目将涉及网站内文章的全文 和 语义搜索(如果无法组合,用户可以选择任一选项)。这些文章是订阅式的,只有登录后才能搜索;因此外部搜索引擎或其 API 无法访问它们。
我阅读了有关全文关键字搜索的 Sphinx(我打算在这方面实现它),但我不确定如何以此构建语义搜索引擎。例如,搜索“美国总统”应该列出包含对美国总统实际姓名的引用的文章,例如乔治华盛顿、比尔克林顿(或威廉杰斐逊克林顿)。
我的想法是,也许可以使用一种标记系统来关联各种关键字,例如将总统与乔治华盛顿联系起来,将总统与比尔克林顿联系起来,但由于数据非常庞大,而且会存在许多这样的关系,我不知道如何进一步这个想法。
请建议我如何从头开始构建语义搜索引擎(我猜 Sphinx 可以处理全文关键字搜索)。否则,请告知我任何基于 Internet 的资源,或者是否有任何语言的现有软件可以集成到我的应用程序中。
PS 我选择的数据库是 MySQL(如果其他数据库系统更适合该任务,请告知),我更喜欢用 PHP 编程,但如果我需要学习 Python 或任何其他对这项任务更有效的语言,我会愿意的。