我有 sqlite 查询我想让它在 mysql 数据库上工作我使用 MATCH AND AGAINST 但如果你看到这部分没有帮助'TEST:^hello ' 我怎样才能做到这一点?谢谢SELECT * FROM table_a MATCH 'TEST:^hello ' AND test2 = 'hello' 我现在在我的 MySql 查询中使用 MATCH , AGAINST 并且我想找到所有以“hello”开头的单词(你看到 hello 后面的空格!)那么我如何使用带有 MATCH AND AGAINST 的 FULLTEXT 搜索来做到这一点?wordshellohello how are youyou are good hellohello ?nice hello fineI want this hellohello ?hello how are younice hello fine you are good hello
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
我现在在我的 MySql 查询中使用 MATCH , AGAINST 并且我想找到所有以“hello”开头的单词(你看到 hello 后面的空格!)那么我如何使用带有 MATCH AND AGAINST 的 FULLTEXT 搜索来做到这一点?
由于MATCH() AGAINST()在 MySQL 中不支持REGEX,我很可能会选择。
SELECT
*
FROM (
SELECT
*
FROM
test
WHERE
MATCH(word) AGAINST('+hello ')
) AS fulltext_scan
WHERE
fulltext_scan.word REGEXP '^hello '
或者
SELECT
*
FROM (
SELECT
*
FROM
test
WHERE
MATCH(word) AGAINST('+hello ')
) AS fulltext_scan
WHERE
fulltext_scan.word LIKE 'hello %'
内部 sql(交付表)的工作方式限制了结果,MATCH(word) AGAINST('+hello ')并且可以使用FULLTEXT 索引来加速它。
使用 REGEX 或 LIKE 匹配结果集的外部 SQL 过滤器仅匹配 hello 开头。
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消