编写一个存储过程,定义两个关键字变量,然后定认查询语句把你上面的两个条件用OR连起来.根据传入的关键字进行组合.这样行不?
一楼组合多个查询的办法倒是可行,就是这个效率……怕是很差,尤其你是在文本里like '%xx'
二楼全文索引效率倒是可以,可是那个优先级怕是没有那么容易排,如果不嫌服务器累,可以使用全文索引把所有的都取出来,由程序来排列优先级顺序
这种搜索,想完美解决~~~数据库怕是无能为力,超出数据库的能力范围了~~~~~
这个问题去问问百度,百度的竞价排名就是谁给的钱多谁排在前面,和这个有相同的地方
同意丁学的,这个数据库无能为力
在程序级别上分别取出各个优先级的内容,再加以组合展示
数据库可以解决排序问题。只是效率低得可怜(等到你哭!!)。
用Union
示例:(select * from table1 where filedName like "%博客园%架构%" ) union (select * from table2 where filedName like "%架构%博客园%" and id not in (select id from ....) )union.....
不写了,不忍心写了。我听到CPU在哭。。。
就这个思路。。。。。如果数据量大的话一天查个几次应该差不多了吧。。。如果你要完美的解决方案可以研究一下搜索引擎~研究一下Lucene.
还是去研究下SEO吧。。。。。。。