【发布时间】:2013-09-19 06:00:07
【问题描述】:
我正在尝试将预测性“最佳匹配”名称搜索功能添加到我构建的自定义 CRM 中,但遇到了一些问题。我决定选择Sphinx,认为它可以满足我开箱即用的需求,但我遇到了一些问题。我了解 sphinx 使用的匹配模式,但我不确定如何获得这样的东西,例如:
如果我查询:Mike Shinoda
它应该能够拉出这样的匹配,按最佳匹配排名:Mike Shinoda | Shinoda, Mike | Mike Shinoji | Michael Shinoda | Shinoda, Michael | Mike James Shinoda | Mike and Ike Shinoda | Shinoda, Miles
做这样的事情最好的方法是什么?我没有和 Sphinx 结婚,我只是找不到任何看起来可以做得更好的东西
我确实已经尝试在这个堆栈问题Sphinx and "did you mean ... ?" suggestions idea. WIll it work? 中实施建议,但它并没有真正发挥作用,因为匹配模式SPH_MATCH_ANY 匹配的记录太多,而SPH_MATCH_ALL 会提取像@987654327 这样的记录@当查询为'sheryl curry'时(因为sheryl curry中的所有字母都在'andrus Cheryl'中
编辑
我只索引一个字段:contact_name
【问题讨论】:
-
你能说出你正在索引的所有字段吗?