【发布时间】:2016-12-03 10:12:45
【问题描述】:
在布尔模式下apple* 将找到apple, apples, applestore。但它不会找到我(假词)Mapple, Trapple。所以我尝试使用*apple,但这不起作用。
是否无法通过全文搜索找到以 apple 结尾的单词?还是我在文档中遗漏了什么?
【问题讨论】:
标签: mysql
在布尔模式下apple* 将找到apple, apples, applestore。但它不会找到我(假词)Mapple, Trapple。所以我尝试使用*apple,但这不起作用。
是否无法通过全文搜索找到以 apple 结尾的单词?还是我在文档中遗漏了什么?
【问题讨论】:
标签: mysql
虽然 MySQL 全文搜索不允许您按后缀进行搜索,但如果您可以接受一些存储开销,则有一种解决方法。您只需要一个额外的列来保留原始列的反转字符串值,还需要一个新列的附加全文索引。然后您的查询将按以下方式显示:
SELECT * FROM Tbl
WHERE MATCH (Word_reversed) AGAINST (REVERSE('*apple') IN BOOLEAN MODE)
请记住,您还必须通过更新/插入触发器或手动维护其他字段。
【讨论】:
试试这个
SELECT * From Table
WHERE Word like '%apple'
【讨论】: