推荐应用程序的逻辑

时间:2012-08-01 12:06:18

标签: database logic

我正在开发一个应用程序 - 用户可以回答10个问题 - 每个问题有3-4个选项。在第10个问题的最后,根据答复,需要建议某种解决方案。由于有100种排列和组合 - 使用和数据库设计需要的逻辑是什么,

感谢

编辑一些更详细的解释

如果我的应用程序用于推荐来自各种移动运营商的数据计划 - 基于用户回答诸如在互联网上花费的时间,正在下载的文件类型等问题。因此,如果对问题1的回答是a而问题2是c等,那么这将是一个特定的计划。如果对问题1的回答是b而问题2是对c,那么它会建议某个计划。所以,如果有10个问题 - 那么组合可能会非常大。那么有一种算法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

<强>予。什么是逻辑?

如果我理解正确,您可以定义“规则”,例如

If the answer to question 5. is either A or B then the suggested plan would be planB, otherwise execute the rest of the rules.

所以你会使用rule engine例如:http://www.jboss.org/drools/

<强> II。什么是数据库设计?

这很简单:

  • USERS表,
  • 问题表和
  • ANSWERS表,可以引用其他两个

可能还会有一个QUESTIONNAIRE表,QUESTIONS表会引用它。

答案 1 :(得分:0)

只是一个“快速”评论,考虑让用户看到他们在回答每个问题时可以推荐的公司的变化。

例如,如果我对价格最感兴趣,那么我会首先回答问题并立即看到推荐给我的3个最便宜的计划/产品。

第二个问题可能是报道,如果我能看到3个计划覆盖率最高(在我所在地区)也会很有趣。

当我回答关于智能手机功能的第三个问题并且我说我想要互联网时,那么第一个问题就应该吐出包括互联网在内的3个最便宜的计划/产品,显然它们可以改变。

等等......

也许让用户“深入”每个问题并查看该答案的全部选项也是一个好主意。作为用户,我将不胜感激。

以上评论是我如何欣赏如果我为我制作一个表格,我不想回答10个关于我没有真正重视的东西的问题,每个用户都是不同的,并且更愿意让他们选择他们的问题。

因此,基于上述情况,它就像一张清单,其中最重要的答案是具有最合适的复选标记的计划/产品。并立即做出回应(当用户回答/更改每个问题时),这里的AJAX可能是您的选择。