突出显示匹配的单词MySQL FULLTEXT索引

MySQL FULLTEXT索引麻烦。 有:

1)带有以下单词的表格:

ID__WORDS
1___jfjdeur,rjjghfje,rioogr
2___fkjtifdfe,lerkr
3___kfrkriti
4___frlerkti,tykitriero,frorodfl,rfjkrjr
...
N___fjfjtiu,frkrker,fkdkri

2)WORDS列上的MySQL FULLTEXT索引。

3)查询如:

   SELECT * 
   FROM table WHERE
   match(word) against ('gjfjdeur,rioogr,tykitriero')

结果返回:

ID___WORDS
1____gjfjdeur,rjjghfje,rioogr (because contains gjfjdeur and rioogr)
4____frlerkti,tykitriero,frorodfl,rfjkrjr (because contains tykitriero).

重写查询来创建额外的列将包含找到/匹配的单词是不可能的? 就像是:

ID___WORDS______________________FOUND
1____gjfjdeur,rjjghfje,rioogr____________gjfjdeur,rioogr
4____frlerkti,tykitriero,frorodfl,rfjkrjr______tykitriero

可能是这样的:

SELECT *,some_function_to_select_matched_range(word)
FROM table WHERE
match(word) against ('gjfjdeur,rioogr,tykitriero')")

'反对'真正由数百个单词组成,而php中的preg_match_all不是很好的解决方案,可以从FULLTEXT索引行中找到每个匹配单词。

链接地址: http://www.djcxy.com/p/75267.html

上一篇: Highlight matched words MySQL FULLTEXT index

下一篇: full text search