首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全文搜索标签系统问题

全文搜索标签系统问题
EN

Stack Overflow用户
提问于 2010-10-17 15:09:51
回答 3查看 477关注 0票数 0

我把标签存储在255个varchar区域,就像这种类型;

,keyword1,keyword2,keyword3,关键词324,“keyword1234,

(关键字必须开始和结束逗号(commakeyword123comma))

-

我可以找到这样一个keyword3查询;

从表中选择*其中关键字如= '%,keyword3,%‘

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `table1` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `tags` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `tags` (`tags`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2242 ;


INSERT INTO `table1` (`id`, `tags`) VALUES
(2222, ',keyword,'),
(2223, ',word is not big,'),
(2224, ',keyword3,'),
(2225, ',my keys,'),
(2226, ',hello,keyword3,thanks,'),
(2227, ',hello,thanks,keyword3,'),
(2228, ',keyword3,hello,thanks,'),
(2239, ',keyword3 but dont find,'),
(2240, ',dont find keyword3,'),
(2241, ',dont keyword3 find,');

(报表2224 2226 2227 2228)

-

我必须更改这个命令,就像全文搜索一样。

从table1中选择*在布尔模式下匹配(标记)对(",keyword3,“)

sql命令查找2239,2240,2241,但我不想找到% keyword3 3%或keyword3

http://prntscr.com/137u9

只有想法才能找到,keyword3?

,keyword3,

谢谢

EN

回答 3

Stack Overflow用户

发布于 2010-10-17 15:14:37

您不能单独使用全文搜索--它只搜索单词。以下是您可以使用的几种不同的替代方法:

  • 您可以使用全文搜索来快速查找候选行,然后使用类似的后缀从全文搜索中筛选出任何错误匹配。
  • 您可以使用设置
  • 您可以将数据库规范化--每行只存储一个关键字。 插入到table1 (idtag)值(2222,‘关键字’),(2223,‘单词不大’),(2224,'keyword3'),(2225,'my keys'),( 2226,'hello'),-/2226有三行,每个关键字有一个。(2226,'keyword3'),(2226,‘谢谢’),(2227,‘你好’),-等等.

如果有可能的话,我会推荐使数据库规范化

票数 3
EN

Stack Overflow用户

发布于 2010-10-17 15:22:33

是否有理由将所有标记存储在一行中?

我会把每个“标签”都存储在一排,然后按andreas的建议做,然后做如下的事情:

代码语言:javascript
复制
SELECT * FROM table1 WHERE tag IN('keyword0', 'keyword1', 'etc.')

如果出于某种原因,您需要返回一行中的所有标记,则可以单独存储它们,并将它们放在一起GROUP_CONCAT

小组

票数 0
EN

Stack Overflow用户

发布于 2010-10-17 15:32:12

首先,全文将用于文本搜索。所以你能用它做什么是有限制的。要做您想做的事情,您需要检查布尔模式规范,看看"操作符是否可以帮助您,但即使这样,您的搜索也可能不会100%准确。您将需要为您的关键字强制一个单词格式(最好不要在关键字中使用分隔符)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3953790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档