从头开始为私人文章构建快速语义MySQL搜索引擎

时间:2012-06-11 21:37:58

标签: php mysql full-text-search search-engine information-retrieval

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

I read about Sphinx用于全文关键字搜索(我打算在该方面实现它)但我不知道如何构建一个语义搜索引擎。例如搜索“美国总统”应该列出包含对美国总统实际姓名的引用的文章,例如:乔治华盛顿,比尔克林顿(或威廉杰斐逊克林顿)。

我有一些想法,可能有一种标记系统可用于关联各种关键字,例如将总统与乔治·华盛顿和总统联系到比尔·克林顿,但由于数据非常庞大,许多此类关系将存在,我不知道如何推进这一想法。

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

P.S。我选择的数据库是MySQL(如果另一个数据库系统更适合任务,请提供建议),我更喜欢用PHP编程,但如果我需要学习Python或任何其他语言来更有效地完成这项任务,我会愿意。

我已经在answers.semanticweb.com

搜索了

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

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