全文搜索以匹配字符串mysql中的多个单词

时间:2015-05-14 07:24:00

标签: php mysql

我正在使用全文搜索搜索查询。当我搜索两个单词时,我想要确切的两个单词匹配结果。这里的问题是我也得到一个单词匹配结果。数据包含波兰语言字符。 我的代码是

  $qry="select * from tbl_jobs where MATCH(job_title) AGAINST('+Młodszy +Konsultant' IN BOOLEAN MODE)";

我的结果是

  1. [job_title] => młodszy konsultant ds. sprzedaży
  2. [job_title] => Młodszy Konsultant
  3. [job_title] => Konsultant ds. sprzedaży młodszy
  4. [job_title] => Telefoniczny konsultant

我有以下索引    enter image description here

这里前3个结果是正确的,但第4个结果是错误的。 job_title只包含一个匹配的单词结果。我想要两个搜索词强制结果集。 查询也正确我正在使用utf8_general。哪里确切的问题请帮帮我

2 个答案:

答案 0 :(得分:0)

如果你有两个单词说abcxyz要匹配,你想要匹配两者,那么你可以使用通配符%它就像正则表达式匹配一样匹配

select * from mytable where job_title like '%abc%xyz%' or job_title like '%abc%xyz%'

它会为您提供唯一的记录,其中职位名称包含单词abcxyz

答案 1 :(得分:0)

对于全文搜索,您可以在此处获得完整的详细视频。再给你一个提示

  

除非要检索a中的整列,否则不要使用“*”   表。而是使用列限定名称,就像有表一样   那些没有滚动的学生,

SELECT students.roll_no FROM students

<强> Link for the tutorial btw!