2

我正在开展一个项目,该项目将涉及网站内文章的全文 语义搜索(如果无法组合,用户可以选择任一选项)。这些文章是订阅式的,只有登录后才能搜索;因此外部搜索引擎或其 API 无法访问它们。

我阅读了有关全文关键字搜索的 Sphinx(我打算在这方面实现它),但我不确定如何以此构建语义搜索引擎。例如,搜索“美国总统”应该列出包含对美国总统实际姓名的引用的文章,例如乔治华盛顿、比尔克林顿(或威廉杰斐逊克林顿)。

我的想法是,也许可以使用一种标记系统来关联各种关键字,例如将总统与乔治华盛顿联系起来,将总统与比尔克林顿联系起来,但由于数据非常庞大,而且会存在许多这样的关系,我不知道如何进一步这个想法。

请建议我如何从头开始构建语义搜索引擎(我猜 Sphinx 可以处理全文关键字搜索)。否则,请告知我任何基于 Internet 的资源,或者是否有任何语言的现有软件可以集成到我的应用程序中。

PS 我选择的数据库是 MySQL(如果其他数据库系统更适合该任务,请告知),我更喜欢用 PHP 编程,但如果我需要学习 Python 或任何其他对这项任务更有效的语言,我会愿意的。

我已经在answers.semanticweb.com上搜索过

4

2 回答 2

2

我会使用Apache Solr。我认为它比 Sphinx 更灵活。Solr 支持全文搜索,并且我相信有用于语义支持的附加组件(如警报器)。Solr 是 Lucene 的服务器化版本。

Solr 支持 SynonymFilter:http ://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#SynonymFilter

这篇文章讨论了一些优化内容检索的策略http://www.lucidimagination.com/devzone/technical-articles/optimizing-findability-lucene-and-solr

于 2012-06-11T21:41:02.517 回答
0

这本书可能对阅读此主题的人有用。我刚在亚马逊上找到它。

http://www.amazon.com/E-Librarian-Service-User-Friendly-Libraries-X-media-publishing/dp/3642177425

于 2012-06-11T22:28:52.957 回答