Php Mysql文本搜索问题
我试图进行精确搜索,但在使用“Sonal”搜索时遇到问题,我从记录中得到的结果是“Sonal”和“personal”。当我删除var name之前的%时,得到的结果是哪个记录从“Sonal”开始,并且没有发现文本的任何地方有“Sonal” 以下是查询:Php Mysql文本搜索问题,php,mysql,search,Php,Mysql,Search,我试图进行精确搜索,但在使用“Sonal”搜索时遇到问题,我从记录中得到的结果是“Sonal”和“personal”。当我删除var name之前的%时,得到的结果是哪个记录从“Sonal”开始,并且没有发现文本的任何地方有“Sonal” 以下是查询: AND ( lower(document_text) LIKE '%".$search_name2."%' OR lower(customdoc_name) LIKE '%".$search_name2."%'
AND (
lower(document_text) LIKE '%".$search_name2."%'
OR lower(customdoc_name) LIKE '%".$search_name2."%'
OR lower(doc_tags) LIKE '%".$search_name2."%'
)
记录1-个人证书记录2-个人证书 我只想第二记录返回搜索时与“Sonal” 我没有使用全文字段。“%”运算符仅以这种方式操作 它是一个通配符,表示任何字符串。 所以
AND (
lower(document_text) LIKE '%".$search_name2." %'
OR lower(customdoc_name) LIKE '% ".$search_name2." %'
OR lower(doc_tags) LIKE ' %".$search_name2."%'
)
使用
REGEXP
尝试以下操作
AND (
lower(document_text) REGEXP '[[:<:]]".$search_name2."[[:>:]]'
OR lower(customdoc_name) REGEXP '[[:<:]]".$search_name2."[[:>:]]'
OR lower(doc_tags) REGEXP '[[:<:]]".$search_name2."[[:>:]]'
)
和(
下部(文档文本)REGEXP'[[::]]
或更低(customdoc_name)REGEXP'[[::]]
或更低(doc_标签)REGEXP'[[::]]
)
性能不好。。但是你会得到准确的结果。为什么不使用全文搜索?它应该是一条评论,而不是一条评论answer@diEcho为什么它更适合作为评论而不是回答?@DhruvPathak:它更像是旁注。实际上并没有回答这个问题。不过这很有帮助。恕我冒犯。:)很好,我没有注意到这个空间:)