我有一个表,该表的mytext列包含句子.
I have a table with column mytext which contains sentences.
我想搜索包含两个单词(例如我的",学校")的任意顺序的句子.
I want to search sentences which are having two words like "my" "school" in any order.
我想要的结果是
牛津是我的学校
oxford is my school
我的名字是kk学校是jes
my name is kk school is jes
等
推荐答案如果您正在使用InnoDB表(并且您可能正在使用),则可以使用LIKE语句:
If you're using InnoDB tables(and you probably are), you can use LIKE statement:
SELECT * FROM mytable WHERE mycolumn LIKE "%my%" OR mycolumn LIKE "%school%";
SELECT * FROM mytable WHERE mycolumn LIKE "%my%" OR mycolumn LIKE "%school%";
对于全文搜索,更好的解决方案是使用专用的搜索引擎,并为此进行了优化-例如 elasticsearch
For fulltext search much better solution would be using dedicated search engine, optimized for such purposes - for example elasticsearch.
更多推荐
MYSQL如何在一个句子中匹配两个单词
发布评论