我正在尝试将预测性“最佳匹配”名称搜索功能添加到我构建的自定义 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 和“你的意思是......?”中实现这个建议。建议想法。它会起作用吗?,但它并没有真正工作得很好,因为匹配模式SPH_MATCH_ANY
匹配的记录太多,并且会像查询时SPH_MATCH_ALL
那样拉入记录(因为所有字母都在'andrus Cheryl'
'sheryl curry'
sheryl curry
'andrus Cheryl'
编辑
我只索引一个字段:contact_name