我有一个设置,用户可以在一个表中存储“规则”,然后他们可以根据这些规则匹配新产品。
例如,他们可以存储一个名为“红番茄”的规则,如果他们创建了一个名为“红番茄”的新产品,那么系统将自动找到该规则,并将来自“红番茄”规则的某些参数应用于新产品。
目前,这非常简单,并通过如下查询执行:
SELECT * FROM (`rules`) WHERE `rule` like '%red tomato%' LIMIT 1我想将这一点带到下一步,并在如何执行搜索方面为用户提供更多的灵活性。例如,我想创建一个名为“番茄”的规则,这将匹配以下搜索条件中的任何一个:“番茄”、“红色番茄”或“绿色番茄”。
解决这一问题的最佳方法是什么?
发布于 2011-12-16 04:46:10
这听起来像是您在尝试实现分类法,然后根据产品关联的项目进行操作。
推荐一些东西是很困难的,因为我不确定你现在的系统是什么样的。我知道Drupal在分类法方面做得很好,并且已经构建了一个规则系统,您可以将它与您为内容项(产品)创建的分类法集成在一起
如果是自定义路由,您可以非常快速地使用CodeIgniter构建一些东西,并且它将更具可定制性。
解释你现在正在使用的东西会有相当大的帮助,并允许更具体的答案。
发布于 2011-12-16 04:26:52
我认为像Lucene这样的东西比关系数据库更适合这项任务。
发布于 2011-12-16 04:58:08
你想要做什么,可以通过实现标记字典,标记规则来完成。这样,在将产品名称的标记与每个规则标记进行比较之后,您将能够创建一个表,该表将存储产品和规则之间的关联。
https://stackoverflow.com/questions/8526126
复制相似问题