Php 全文搜索MySQL

Php 全文搜索MySQL,php,mysql,full-text-search,Php,Mysql,Full Text Search,我知道如何使用“全文搜索MySQL”。我想知道的是如何在文本中搜索单词。对于exmaple:-我们在mysql中有三条记录,如下所示 1.)这是程序员的地方。 2.)人们为了旅游目的而访问一些地方。 3.)程序员访问这个地方网站是为了编码 现在,当用户搜索“程序员的位置”时 以下应该是输出 它应该以任何顺序输出包含句子中所有单词的行 1.)这是程序员的地方 2.程序员访问此地点网站进行编码 感谢您的帮助。MySQL有用于全文搜索的匹配..对。试试下面的方法 SELECT * FROM <t

我知道如何使用“全文搜索MySQL”。我想知道的是如何在文本中搜索单词。对于exmaple:-我们在mysql中有三条记录,如下所示

1.)这是程序员的地方。
2.)人们为了旅游目的而访问一些地方。
3.)程序员访问这个地方网站是为了编码

现在,当用户搜索“程序员的位置”时

以下应该是输出

它应该以任何顺序输出包含句子中所有单词的行

1.)这是程序员的地方
2.程序员访问此地点网站
进行编码


感谢您的帮助。

MySQL有用于全文搜索的匹配..对。试试下面的方法

SELECT * FROM <table> WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE)
SELECT*FROM WHERE MATCH()反对(“+place+for+programmers”在布尔模式下)
+的基本意思是AND(可以使用-for或)

  • 在使用全文搜索之前,请为列编制索引

    ALTER TABLE <table> ADD FULLTEXT(column);
    
  • 然后使用下面的SQL

    SELECT * 
    FROM <table>
    WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE)
    
    选择*
    从…起
    其中MATCH()与(“+place+for+programmers”在布尔模式下)
    

  • 您可以尝试只查找第一个单词,然后在结果中查找第二个单词,以此类推。请尝试以布尔模式进行全文搜索。您是否可以将答案以SQL查询的形式提供,这将有助于查找。实际上,全文搜索可能会忽略“for”一词,所以这不会真的起作用。我只是在twitter上做了实验,它产生了想要的结果…他们是怎么做到的?而且你必须在专栏中添加全文索引我刚刚在mysql phpmyadmin中尝试了它我创建了一个随机表,用上面相同的行填充它,并尝试了查询,但是它返回的是一组空的reultsWhat是随机表的模式?由于存在+for,这将无法工作。如果你想寻找三个字母的单词,请阅读。此外,布尔搜索默认为
    ,单词前面的
    +
    表示
    -
    在一个单词前面的意思是
    不是
    ,不是
    ,正如回答中所说的那样谢谢你,我刚刚修复了它,现在它工作得很好。。非常感谢你!!!!
    
    SELECT * 
    FROM <table>
    WHERE MATCH(<column>) AGAINST('+place +for +programmers' IN BOOLEAN MODE)