用于模糊搜索的PHP库?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了用于模糊搜索的PHP库?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个 PHP库,它允许用户基本上使用真正的英语输入命令来运行.基本上我希望用户能够做类似的事情:

搜索欧洲的所有用户,这些用户等同于用户=’欧洲’的选择*

或者我的意图的另一个例子:

查找(查找)John SmITh的邮件地址

注意:如果你能说约翰史密斯,简史密斯和约翰多伊,那也很好

理想情况下,我喜欢这个库,如果它是可扩展的,那么我可以编程一旦某些事情出现,如查找,电子邮件搜索,用户需要发生的事情

是否有人知道PHP库可以执行上述操作?

解决方法

据我所知,目前没有用于基于自然语言查询进行搜索的库,既不是PHP也不是任何其他编程语言(我假设你不能使用 IBM Watson :)).

我认为可行的方法是基于语法的解析器和模糊搜索

使用像Jison这样的解析器生成器,您可以在用户浏览器上解析和“理解”与生成语法相对应的所有语句,仅向生成查询或中间表示发送到服务器.

它比PHP解析器更好,因为用户可以在键入时立即获得反馈,并且比提交表单并获得错误更不令人沮丧.在这种情况下,查询解释将是99%正确,但在许多情况下,完全正确(从人的角度来看)查询将被拒绝,因为语法无法预见.

在另一种情况下,你可以做一些预处理,比如删除停用词,使文本小写,词干等,然后用全文搜索引擎搜索(Lucene可能是最强大的,但它是用Java编写的). Postgresql support it以及MysqL都有一些全文搜索功能.还可以使用空格和标点符号上的索引和标记化文本,基于基本RDBMS构建基本引擎.

哪种方式取决于您的数据和各种预期查询的多样化和嘈杂程度.您还可以尝试实现混合方法,即使用语法解析文本以及是否使用全文搜索失败.

脚本宝典总结

以上是脚本宝典为你收集整理的用于模糊搜索的PHP库?全部内容,希望文章能够帮你解决用于模糊搜索的PHP库?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。