使用mysql查询在段落中搜索一些单词

时间:2014-03-08 19:11:25

标签: mysql database search

我正在研究一个项目。我有一个段落,我有一些标签,如C#,mysql,.net,ajax等。我想检查我的段落是否包含这些标签,如果它包含哪一个包含多少标签匹配。根据匹配的标签数量,我必须得分。我不知道如何做到这一点我不能在这里使用条款我也不能使用find_in_set()。请帮助我怎么办?实现这一点。

2 个答案:

答案 0 :(得分:0)

MySQL的Full text search似乎正是你正在寻找的东西,虽然默认情况下搜索C#会有一些麻烦,因为它的长度和特殊字符都很短。

或者,您可以使用LIKE来搜索paragraph LIKE '%PHP%'

答案 1 :(得分:0)

您可能希望查看mysql的REGEXP功能:

CREATE TABLE texts ( 
  paragraph text, 
  FULLTEXT INDEX( paragraph ))
engine = myisam;
INSERT INTO texts ( paragraph ) values
( "this is a very uninteresting paragraph "), 
(  "MySQL can be fun and useful, with or without PHP!"),
(" I have misspelled phpone, but I didn't mean the programming language!");

select paragraph FROM texts
  where paragraph REGEXP( "[[:<:]]php[[:>:]]");

它不如FULLTEXT搜索效率高,但可能更符合您的需求。要看。

相关问题