我对 MySQL 全文搜索功能有点陌生。
我想澄清 MATCH()..AGAINST() FTS 功能的一些用法。
如果我们有一列文本类型,并且包含多个名称对值以及其他文本。一般来说,我知道 MySQL 中的 FTS 功能可以通过以下命令使用:
select col from mytable where match(text_data) against('some word') limit 10;
但我需要搜索多个单词,例如,如果:
select text_data from mytable;
==============================
abcd, xyax&iopp data=1244 amt=78 ..
abcd, xyax&iopp data=12xx amt=7x ..
现在我想在 text_data 列中搜索 value 数据值为 '1244' 和 amt 为 '78'。那么如何使用两个表达式是 AGAINST 子句:
select col from mytable where match(text_data) against ('data=1244' and 'amt=78')
OR
select col from mytable where match(text_data) against ('data=1244') and match(text_data) against ('amt=78')
或者
select col from mytable where match(text_data) against ('data 1244 amt 78')
或者
还有其他方法吗?