首页 文章

多个变量列中的FullText索引

提问于
浏览
1

我目前正在研究在MySQL中使用FULLTEXT索引来获取网站内的搜索功能 .

基本上,用户可以转到高级搜索页面,并选择要搜索的一个或多个列,例如,他们可以搜索 Headers ,描述和评论,或者只搜索1列或三者的混合,当他们执行搜索时,将针对关键字搜索这些选定的列 .

我为 Headers 创建了1个索引,为描述创建了1个索引,为注释创建了1个索引,然后尝试运行以下查询:

SELECT * FROM support_calls WHERE MATCH(Title, Description) AGAINST('+these, +are, +some, +keywords')

我从MySQL得到一个错误,说MATCH与任何全文索引都不匹配,我发现我需要创建一个包含Title和Description的索引,而不是将它们放在单独的索引中 .

如果是这种情况,这将增加一些复杂性,因为我将不得不为用户选择的列的每个变体创建一个索引 . 我现在就这么做,还是有更好的解决方案?

1 回答

  • 0

    首先执行以下查询,然后运行您的MATCH()查询 .

    ALTER TABLE support_calls ADD FULLTEXT (
    Title, Description
    )
    

相关问题