我最近在我们的搜索引擎数据库中实现了levenshtein算法,但是我们遇到了一个问题.
根据基本的levenshtein
Levenshtein('123456','12x456')与Levenshtein('123456','12345x')的值相同
通常这很好,但对于我的具体问题是不正确的.当有人使用我们的网站时,这是不正确的.电子元件制造商通常制造类似的产品,最后一个字母只有不同之处.如果第一个字母不同,它通常是完全不同的类别.因此,我需要一种算法,该算法认为在单词开头附近的匹配比在后面的那些更有价值,或者换句话说,在开头附近发生的不匹配应该比后面的那些应用更大的惩罚.
如果有人有任何想法,请告诉我.
我在rails应用程序上写了一个ruby,这个网站最重要的特色之一就是现场投票.我们完全希望在短短1分钟内收到10k的投票请求.与其他请求一起意味着我们可能会收到大量请求.
我最初的想法是将服务器设置为使用apache + phusion,但是,对于投票而言,我正在考虑在侧面编写php脚本并在memcached中写入/读取信息.数据只需要持续大约15分钟,因此在1分钟内写入数据库10,000次似乎毫无意义.我们还需要标记用户的ip,这样他们就不会投票两次,因此在memcached中更加复杂.
如果有人有任何建议或想法尽可能做到最好,请帮忙.