【发布时间】:2012-12-02 06:37:28
【问题描述】:
我试图实现一个典型的自动完成框,就像你从 amazon.com 知道的那样。 就这样,输入一封信,你会得到一个合理的建议,告诉你可以尝试在搜索框中输入什么。
盒子本身将由 jquery 实现,持久层和建议算法将基于 Apache Lucene/Solr 及其 Suggest-Feature。 另外,我使用 lucene 的 WFST-Suggestion 在结果中得到加权建议。
我的问题是,例如amazon能做到这种合理的数据? 我的意思是他们从哪里获得所有这些关键字和分数,所以这有意义吗?
每个产品上都是纯手工制作的款式信息吗?我认为这将是真正艰难的。 或者是否可以使用机器学习理论中的聚类或分类等方法来收集数据? (然后我可以使用 mahout 或 carrot2)。
查看亚马逊的建议,我认为数据包含:
- 产品名称
- 产品/书籍的生产者/制造商/作者
- 产品特性(如颜色、类型、尺寸)
它包含更多吗?
接下来的事情是,看起来建议本身是排名的。 他们如何获得这种分数来衡量建议的权重? 这是一个简单的用户点击路径跟踪,你在哪里看,用户在框中输入了什么,他选择了什么或者他之后看了什么产品?
是否使用某种逻辑对每个查询(可能已缓存)计算出这种分数? (哪个?也许是贝叶斯定理?)
【问题讨论】:
标签: search autocomplete autosuggest