【问题标题】:Algorithm to select pet breed / cars / bikes / etc from database based on user answers根据用户回答从数据库中选择宠物品种/汽车/自行车/等的算法
【发布时间】:2012-03-11 23:06:39
【问题描述】:

这个问题更多的是关于在正确的方向上找到一个点。我继承并开发了一个创建汽车选择数据库(匹配用户偏好)的项目。它已经运行得比较好,但可能会更好(有一些问题),所以我想研究一些其他人使用的其他算法。我正在开发的网站使用最佳匹配算法,每次匹配回答的问题时,每辆车都被分配一个“1”,然后将它们相加。

我特别喜欢以下网站(选择犬种):

http://animal.discovery.com/breed-selector/dog-breeds.html

谁能指出我在哪里可以找到类似内容的正确方向(我一直在寻找,但可能没有在正确的地方寻找或使用正确的搜索词)?我希望能够查看和研究使用的算法(PHP/mySQL)。

我正在处理的(不完整的)网站:

http://www.myperfectcar.com.ph/

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 请在我适应并从椅子上摔下来之前移除动画背景。
  • 目前使用的算法是什么?是像“+1 与项目的相关性”还是有像距离计算这样的“相似度算法”?
  • @Dagon - 是的,我讨厌动画背景,每次看都会头晕目眩,但有时,开发者没有最后的发言权。
  • @Joseph - 相关性 +1。
  • 告诉客户,导致用户在访问他们的网站时出现癫痫的情况并不好看(在某些地方是违法的)

标签: php javascript mysql algorithm search


【解决方案1】:

它与任何其他带有下拉菜单的过滤器完全一样,只是它是以类似向导的形式实现的。你需要有一些类,在会话中具有更多这样的结构:

public class CarSearchWizard
{
    public int Passengiers = 0;
    public int DrivingFor = 0;
    ...
}

我没有注意到您的搜索取决于之前的选择,所以它相当简单 - 在用户搜索的每次迭代中过滤人数、驾驶等。我认为您的算法还可以,只是要实现的时间相当长:)

【讨论】:

  • A 先生,您是对的。您的 cmets 正是我寻找更多信息的原因。每次迭代都没有过滤器,有点简单。我曾考虑过硬过滤器(如您的评论),但我想我正在寻找它与我们目前拥有的东西之间的交叉......这可能吗?我想如果我能看到那里还有什么,我可以计算出我需要更改多少算法以及是否需要编辑数据库结构(因此也需要编辑 CMS - 希望不是!)。
  • 我从未使用过“相似算法”。但就我而言,几乎所有东西都可以离散
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多