gpt4 book ai didi

Mysql Fulltext 拒绝相似列结果

转载 作者:行者123 更新时间:2023-11-29 15:25:55 27 4
gpt4 key购买 nike

我有一些列的全文,例如:

car normal | car super | car extra

然后是类似的值

car normal | car super | car extra
normal car super car extra car

我如何只得到 1 列结果,因为当我运行查询时,因为所有列都有汽车字符串而带来所有结果?

例如,我使用字符串搜索:super car 我期望的结果只是super car,但结果包含super car、normal car、extra汽车

最佳答案

如果您提供完整的数据示例,我们可以更好地理解您的需求。此外,您也没有向我们展示您经过清理的查询,以便有一个起点

我对你的问题的看法,你有不同的列,并且在这些列中隐藏了汽车正常、汽车 super 、汽车额外等字样,而你只想找到确切的措辞

CREATE TABLE tutorial (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
description1 TEXT,
description2 TEXT,
description3 TEXT,
FULLTEXT(title,description1,description2,description3)
) ENGINE=InnoDB;

INSERT INTO tutorial (title,description1,description2,description3) VALUES
('ca1','blah blaha car normal blah blah', 'Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet'),
('car2','Lorem ipsum dolor sit amet','Blah blah car super BLAh BLAH','Lorem ipsum dolor sit amet'),
('car3','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet','Blah Bla car extra Blah blah'),
('car4','Blah Blah normal car Blah blah','Lorem ipsum dolor sit amet','Lorem ipsum dolor sit amet')
;
SELECT id, title
, LOCATE('car normal',description1)
, LOCATE('car normal',description2)
, LOCATE('car normal',description3)
FROM tutorial
WHERE MATCH(title,description1,description2,description3) AGAINST ('+("car normal")' IN NATURAL LANGUAGE MODE) ;
id | title | LOCATE('car normal',description1) | LOCATE('car normal',description2) | LOCATE('car normal',description3)-: | :---- | --------------------------------: | --------------------------------: | --------------------------------: 1 | ca1   |                                12 |                                 0 |                                 0

db<> fiddle here

关于Mysql Fulltext 拒绝相似列结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59096063/

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