【问题标题】:How to search record from keywords fields in mysql [duplicate]如何从mysql中的关键字字段中搜索记录[重复]
【发布时间】:2016-10-11 06:25:40
【问题描述】:

我有以下 mysql 表结构:http://sqlfiddle.com/#!9/d36f69/2

CREATE TABLE IF NOT EXISTS `subcat` (
  `id` int(11) DEFAULT '0',
  `subCatName` varchar(255) NOT NULL,
  `Keywords` varchar(255) DEFAULT NULL,
  KEY `Keywords` (`Keywords`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

以下是两条记录:

id  subCatName  Keywords
1   Plastic     baby toys, bag, basket
2   Metal   metal finish, box cover

现在我想使用关键字字段搜索记录。假设我输入了

“婴儿玩具产品”

然后您可以看到在关键字字段中有“婴儿玩具”字样。这样子目录记录应该在搜索查询中返回。在这里您可以看到“产品”在关键字中没有匹配,但只有两个单词匹配。然后仍然第一个匹配的记录应该返回结果。

我们该怎么做?

【问题讨论】:

  • 如果你想要这种类型的搜索,你应该在单独的行中规范化你的关键字列..
  • 你必须使用mysql内置的全文搜索功能或者使用外部的全文搜索库,例如sphinx

标签: mysql


【解决方案1】:

将关键字拆分为不同的词,将搜索词拆分为不同的词,然后使用通配符,例如 'select * from subcat where keywords like '%baby%'' 或者直接使用 FTS lib。

【讨论】:

    猜你喜欢
    • 2011-01-07
    • 2023-03-31
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多