gpt4 book ai didi

MySQL 全文搜索属性

转载 作者:行者123 更新时间:2023-11-29 03:09:19 26 4
gpt4 key购买 nike

我对 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 列中搜索值数据值为“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') 

还有其他办法吗?

最佳答案

SELECT  col
FROM mytable
WHERE MATCH(text_data) AGAINST('+"data 1244" +"amt 78"' IN BOOLEAN MODE)

请注意,您应该将 ft_min_word_len 设置为 1 才能正常工作(默认值为 4,amt78 不会甚至被索引)

关于MySQL 全文搜索属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com