我的表格中有一个text
类型的列。用户可以键入任何单词组合,它应该出现在结果中。例如。假设字符串是: - Addicted to stackoverflow
假设用户输入addicted
和stackoverflow
,那么结果也会出现。换句话说,它不是一个简单的like
运算符,我们可以通过它来获得结果。其他选项是使用全文搜索。但我的表是InnoDb而不是MyISAM,所以我甚至不能使用全文搜索。每次用户搜索字符串时,我都必须创建一个临时表。这非常低效。
有人可以告诉我任何其他方法可能对我有用吗?如果有人有自己的算法,那么请分享。我会更好地使用它,而不是创建临时表,并在每次进行一些搜索时删除它们。
提前致谢:)
答案 0 :(得分:1)
您可以尝试Lucene
答案 1 :(得分:1)
查看http://www.sphinxsearch.com/或http://lucene.apache.org/或MySQL的RLIKE
功能
答案 2 :(得分:1)
Sphinxsearch实际上支持InnoDB以及MyISAM。