【问题标题】:What's a good way to store keywords in a database? [duplicate]将关键字存储在数据库中的好方法是什么? [复制]
【发布时间】:2012-05-11 06:37:04
【问题描述】:

可能重复:
MySQL full text search with partial words

我正在使用 MySQL 的全文搜索的网站(基本上是带有商业列表的目录网站)上有一个搜索功能。没什么花哨的,而且效果还不错。

我想要做的是在网站上创建一个自动完成搜索输入,它会在您键入时自动显示关键字。所以如果我输入“plu”,plumbers,plumbing,pluto 等。

为了实现这一点,我是否需要为每个商家信息存储关键字?我见过可以从输入中提取关键字的脚本。或者我可以从数据库中的所有列表中生成关键字吗?不太确定最好的方法是什么。

【问题讨论】:

  • 你是不是建议对关键词进行分类?
  • 不,他们不是。当我搜索数据库时,我对“详细信息”列使用 MATCH AGAINST IN BOOLEAN MODE,我为其分配了一个 FULLTEXT KEY。
  • 提示:您的用户可能对您批量创建关键字感到满意。我想说的是,你不必每次保存都重新计算新的关键字。
  • 正是我想要的。谢谢,胡安!

标签: php mysql search autocomplete keyword


【解决方案1】:

以下答案向您展示了如何对子字符串进行搜索

MySQL full text search with partial words

(MATCH (a.article_name) AGAINST ('MySQL*' IN BOOLEAN MODE)) 

它只支持匹配关键字开头的子查询,根据那个答案

【讨论】:

    猜你喜欢
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 2014-03-31
    • 2016-08-09
    • 2015-03-20
    • 2010-09-10
    • 2020-03-31
    相关资源
    最近更新 更多