是否有一种简短的方法来检查字符串列表是否为%LIKE%给定字符串?
例如:
书 动物 一个
对于“关于动物的书”,所有人都满足这个条件吗?
我知道我可以写出标题'%book%'和'%animal%'LIKE Title等等,但这看起来很笨拙。
我正在使用它来进行自动填充,我会返回每个单词都在结果中的结果。
答案 0 :(得分:0)
您应该查看http://lucene.apache.org/solr/,它可以让您为数据编制索引,然后可以提供一个REST API,您可以调用该API来填充自动完成下拉列表。
答案 1 :(得分:0)
据我所知,您有两种选择:
1)执行包含许多WHERE子句的查询。
2)保留列的副本,其中所有单词都已排序。然后,您可以对搜索令牌进行排序并执行查询:
SELECT * FROM Table WHERE Title_sorted LIKE "%a%animal%book%"
答案 2 :(得分:0)
MySQL有一个全文搜索索引,我建议你研究一下,以获得有效的结果。与Lucene一起使用可能会因为自动完成而过度。
答案 3 :(得分:0)
mate ...将可搜索列放入“全文”列,然后执行
SELECT * FROM books WHERE MATCH(fulltext_column) AGAINST('animal book a')
最好的方式。 :)见http://devzone.zend.com/article/1304