2011-12-15 214 views
1

我有一个设置,用户可以在表中存储“规则”,然后他们可以根据这些规则匹配新产品。Mysql搜索引擎

例如,他们可以存储一个名称为“红番茄”的规则,如果他们创建了一个名为“红番茄”的新产品,系统将自动查找规则,并将“红番茄'统治新产品。

目前,这是超级简单,如下通过查询执行:

SELECT * FROM (`rules`) WHERE `rule` like '%red tomato%' LIMIT 1 

我想借此下一步,给用户在搜索是如何更灵活执行。例如,我想创建一个名为'番茄'的规则,这可以匹配以下任何搜索字词:'番茄','红番茄'或'绿番茄'。

什么是最好的方法呢?

回答

0

我觉得像Lucene这样的东西比关系数据库更适合这个任务。

+0

solr也许?更容易 – malletjo 2011-12-15 20:27:54

1

这听起来像是你正试图实施分类法,然后根据产品与之相关的项目而发生事情。

推荐一些东西很难,因为我不确定你现在有什么样的系统。我知道Drupal做分类学得很好,而且已经有建,你可以用你的内容项目(产品)

创建分类整合如果是定制的路线,你可以用CodeIgniter建立的东西非常快一个规则体系,它将更加可定制。

解释您现在正在使用的内容会有所帮助,并允许更具体的答案。

0

你想做什么,可以通过实现一个令牌字典,标记规则来完成。通过这种方式,您可以在比较产品名称的标记和每个规则标记之后,创建一个表来存储产品和规则之间的关联。