我试图返回某些列包含所有关键字的所有行。关键字可以是任意顺序,包围任何内容。我查看了全文搜索,但似乎都没有给出我想要的那种控制。我可以这样做:
SELECT *
FROM articles
WHERE body LIKE '%term1%' AND body LIKE '%term2%' AND body LIKE '%term3'...
但是,随着任意数量的搜索术语变得混乱。有没有更好的方法呢?
答案 0 :(得分:0)
查看Fulltext binary search(在该页面上搜索A Basic Boolean Searching Application)。
答案 1 :(得分:0)
试试这个
SELECT * FROM `articles` WHERE MATCH (body) AGAINST
('term1 +term2 +term3 etc...' IN BOOLEAN MODE)
此处' + [keyword]'相当于AND。如果您在不同的列中搜索关键字,那么您可以;匹配(col1,col2,col3等...)对('关键字')。请记住,您需要定义一个FULLTEXT索引,其中包含要搜索的列(用于"匹配(col1,col2 ...)和#34;部分)