我们有一个自动完成列表,当你给某人发送电子邮件时,它会自动填充收件人地址。这样做很好,但当列表变得非常大时,你需要输入更多的地址才能找到想要的那个,这与自动完成的目的相反。
我认为应该添加一些逻辑,使自动完成结果按照最近联系或最常联系的某些函数进行排序,而不仅仅是按字母顺序排序。我想知道是否有任何已知的良好算法用于此类搜索,或者是否有任何建议。
我考虑只使用一个点数系统,例如:当天得5分,过去三天得4分,过去一周得3分,过去一个月得2分,过去六个月得1分。对于最常联系的人,25次以上得5分,15次以上得4分,10次以上得3分,5次以上得2分,2次以上得1分。除了这些任意选择的数字之外,是否有其他建议?如果您能说明为什么您认为其他数字更好,我们也欢迎。
编辑:这主要是在商业环境中使用的,在这种情况下,最近性和频率同样重要。另外,超过一定数量的联系人,比如80次和30次之间真的没有太大的区别。
我认为应该添加一些逻辑,使自动完成结果按照最近联系或最常联系的某些函数进行排序,而不仅仅是按字母顺序排序。我想知道是否有任何已知的良好算法用于此类搜索,或者是否有任何建议。
我考虑只使用一个点数系统,例如:当天得5分,过去三天得4分,过去一周得3分,过去一个月得2分,过去六个月得1分。对于最常联系的人,25次以上得5分,15次以上得4分,10次以上得3分,5次以上得2分,2次以上得1分。除了这些任意选择的数字之外,是否有其他建议?如果您能说明为什么您认为其他数字更好,我们也欢迎。
编辑:这主要是在商业环境中使用的,在这种情况下,最近性和频率同样重要。另外,超过一定数量的联系人,比如80次和30次之间真的没有太大的区别。