我对语义网络搜索没有什么问题。我正在PHP/MySQL中构建应用程序,它将作为“语义”搜索引擎工作。这个问题通常是很难解决的,但我的情况稍微容易一些。我将只需要搜索跨数据在我的网站上,只有数据,我将添加到数据库。
我们的想法是搜索食物,所以系统会在食物文件旁边返回包含单词Pizza的文档,因为Pizza是一种食物。我的网站将是非常具体的,所以它是有可能建立所有这些关系(至少我认为如此),但我希望,不会有一切。FIrst的问题是我不知道如何将这些数据保存到数据库中,我的意思是这种关系,因为它将是N:M关系,而且它必须非常灵活,因为它将用于网站上的每一个搜索。它将是“像树”,从最抽象到最具体,例如食物->比萨-> margherita,但也食物->素食->margherita。我的想法是使用语义网的三元组,并将所有关系保存为合理的三元组。
下一个问题是用户数据的输入。让我们说,用户可以在他们的文档中添加一些“标签”,我的应用程序应该可以将它们连接到我的三元组。因此,如果用户输入Pizza,首先,我的应用程序应该建议他所有已知的比萨,如果他选择margherita,那么他的文档将连接到披萨margherita,但是如果他添加了一些未知的比萨饼,我的应用程序将只将他的文档连接到Puzza (更高的抽象程度)。
以后每个搜索查询都会在我的三元组模型和搜索相关文档中搜索最佳匹配,这是个好主意吗?
我的问题真的很笼统,如何设计这个应用程序,应该先想什么还是先推一下。
谢谢你对如何解决这个问题的任何想法。
发布于 2012-01-03 22:30:06
一种快速的方法是将诸如“”和“Food比萨”之类的短语保存到类别id和/或文档集上,这样您就可以执行全文和形态学搜索相关的类别/文档,并显示上/下类别。
这类查询可以使用股票MySQL全文搜索http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html或外部全文搜索引擎(如Lucene http://lucene.apache.org/或Sphinx http://sphinxsearch.com )来完成。
https://stackoverflow.com/questions/8719307
复制相似问题