在我们搜索内容的时候,经常会使用多个关键词用空格隔开来进行搜索,下面就介绍一下如何实现多个关键词的搜索。
我们首先要知道sql语句怎么去写,比如有个文章表article,我们要搜索文章的标题和内容中含有这些关键词的记录,那么sql语句如下。
select * from article where CONCAT(title,IFNULL(summary,''),IFNULL(content,'')) REGEXP "java|jfinal";
其中的“java|jfinal”就是我们输入的2个关键词, 首先我们从前端获取关键词keyWord,然后对keyWord进行处理,比如输入“java jfinal”,我们需要处理成“java|jfinal”,这样传入sql语句就可以了。处理方法如下:
//拼接字符串,将java jsp php形式的字符串拼接为java|jsp|php形式
publicstaticStringconactString(StringsString)
{
StringoutString="";
String[]subString=sString.split("\\s+");
for(inti=0;i
{
//注意!!!最后不能拼接|符号
if(i!=(subString.length-1))
{
outString+=subString[i]+"|";
}
else
{
outString+=subString[i];
}
}
System.out.println(outString);
returnoutString;
}
欢迎访问我的个人网站:http://mb.daymooc.com