正如标题所说,我需要一个搜索引擎……用于mysql搜索.
我的网站是基于PHP的.
我和sphinx一起去了,但我的托管公司不支持全文索引!
所以没有全文使用的搜索引擎!
它应该非常强大,并且必须至少包含以下这些功能:
>当搜索’bmw 520’时,仅匹配这两个单词恰好以此顺序进入的匹配.不仅仅匹配’宝马’或仅’520′.
>当搜索’bmw 330ci’结果时,将返回上面的结果,但是,WITH WITH WITHOUT ci扩展名.你们都知道(i,ci,si,fi等),汽车中有一些扩展.
>我希望’减号”排除’包含符号后面的单词的所有回复,例如:’bmw -330’将返回所有’bmw’结果,而没有’330’结果. (一个NOT而不是减号也可以)
>所有特殊字符重音如“é”都会转换为简单值,在本例中为“e”.
>在搜索中完全忽略的单词列表
多谢你们!
解决方法:
Zend_Lucene搜索能力相当不错.我不确定它将如何处理你的第二个要求,但是如果你自定义了标记化,你应该能够通过将字母到数字的变化视为一个新单词来实现.
我真正不确定的是最高要求.鉴于它是如何编入索引的,在搜索中命令变得无关紧要,所以如果没有大量编辑Lucene,编写过滤器(使用lucene来拉动匹配,然后检查顺序)或编写自己的解决方案,您可能无法做到这一点. .所有这些都会降低搜索速度,并为您的服务器增加负载.
还有solr,但我从未使用它,也不知道任何事情. Sphinx是另一个,但我看到你已经排除了这一点.
原文地址:https://codeday.me/bug/20191002/1845333.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。