PHP MYSQL全文如何进行精确搜索?
我做了一个PHP MYSQL全文搜索,但是如何做精确的搜索呢?当我使用下面的代码时,我需要返回必须包含单词“new”和“york”的数据,em。。。事实上,代码将返回一些只包含“new”的数据,而从不包含“york”。那怎么办PHP MYSQL全文如何进行精确搜索?,php,mysql,full-text-search,Php,Mysql,Full Text Search,我做了一个PHP MYSQL全文搜索,但是如何做精确的搜索呢?当我使用下面的代码时,我需要返回必须包含单词“new”和“york”的数据,em。。。事实上,代码将返回一些只包含“new”的数据,而从不包含“york”。那怎么办 SELECT * FROM text WHERE MATCH (title,body) AGAINST('new+york' IN BOOLEAN MODE) 你偶然发现了一个边缘案例——问题不在于你认为它是什么 默认情况下,MySQL全文索引不会索引长度小于四个字符的
SELECT * FROM text WHERE MATCH (title,body) AGAINST('new+york' IN BOOLEAN MODE)
你偶然发现了一个边缘案例——问题不在于你认为它是什么
默认情况下,MySQL全文索引不会索引长度小于四个字符的单词,如
“new”
。如果您想搜索“new”
,则需要重新创建索引。尽管Charles关于“new”一词的长度是正确的,但这里还有另一个问题-即使使用较短的最小字长重新编制索引(不完全可取),您将获得包含单词“new”和“york”以及它们之间的许多单词的内容,但不一定只是字符串“newyork”
此外,有一个很好的机会,这个词的'新'是在超过50%的记录,所以没有记录将返回该
几年前,我想出了一种合并的方法——尽管我从来没有考虑过也包括布尔模式搜索。这种“哦,这个词无处不在,让我们忘掉它吧”的行为一直困扰着我,这是个好主意。@Charles是的,当我刚开始使用OK时,它让有限内容的测试变得相当困难,我已经阅读了文章,知道如何解决,谢谢@HorusKol,我的粗心应该是“+纽约+纽约”。