gpt4 book ai didi

mysql - 排除特定条件的全文搜索

转载 作者:行者123 更新时间:2023-11-29 20:57:43 25 4
gpt4 key购买 nike

我有一个名为 items 的表,并且我在名称列上启用了全文搜索

  id         name             price
---- ------ -------
1 brown wood 550
2 black wood 430
3 wooden chair 15
4 kitchen knife 3
5 sponge ball 1.35

我想编写一个查询来使用全文搜索选择名称不包含“wood”的所有项目

所以结果是

  id         name             price
---- ------ -------
4 kitchen knife 3
5 sponge ball 1.35

这是我的查询

 SELECT * FROM items WHERE Match(name) Against('-wood' IN BOOLEAN MODE);

最佳答案

如果您不需要木材,那么查询时的第一击将是:

SELECT *
FROM items
WHERE Match(name) Against('-wood*' IN BOOLEAN MODE);

但是,- 仅在其他术语匹配后才起作用。所以,你需要某种积极的匹配。像这样的东西:

SELECT *
FROM items
WHERE Match(name) Against('k* and -wood*' IN BOOLEAN MODE);

如果您知道此类排除很常见,则可以在每个名称中包含特定单词(例如“名称”)。或者,您可能需要求助于like:

select *
from items i
where concat(' ', name' not like '% wood%';

关于mysql - 排除特定条件的全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499012/

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