试图了解“找不到与列列表匹配的FULLTEXT索引";错误 [英] Trying to understand "Can't find FULLTEXT index matching the column list" error

查看:167
本文介绍了试图了解“找不到与列列表匹配的FULLTEXT索引";错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我试图通过稍微玩一些代码来理解SQL时,就遇到了这种情况.我运行这段代码

As I'm trying to understand SQL by playing around with the code a bit, I have run into this situation. I run this code

SELECT * FROM jobs WHERE MATCH ( title, location, description ) AGAINST ( 'New York designer')

,我得到正确的行结果.但是,如果我问自己:好吧,如果我只想看一栏呢?"

and I get the right row results. However, if I ask myself, "okay so what if I want just look at one column?"

 SELECT * FROM  jobs WHERE  match(location) against ('designer')

我收到错误消息找不到与列列表匹配的FULLTEXT索引".为什么?我不确定这个错误是什么意思.我只删除两个单词和逗号.

I get the error "Can't find FULLTEXT index matching the column list". Why? I'm not sure what this error means. I just remove two words and commas.

我将作业表更改为使用MyISAM引擎.这是否意味着它是可搜索的还是"FULLTEXT"?由于InnoDB不可搜索,这是正确的说法吗?

I alter the jobs table to use the MyISAM engine. Does that mean it's searchable or "FULLTEXT"? Since InnoDB isn't searchable, is that correct to say?

但是现在,当被隔离到只搜索一列时,这是一个问题吗?

But now, when isolated to searching to one column, it's a problem?

如果这有意义,请告诉我.

Let me know if this makes sense, I will re-edit.

推荐答案

FULLTEXT索引是MyISAM存储引擎的功能.

FULLTEXT indexes are a feature of the MyISAM storage engine.

除非在该列上只有一个FULLTEXT索引,否则您将无法与位置列进行匹配.

You can't match against the location column unless there is a FULLTEXT index on that column alone.

除非该MATCH()处于IN BOOLEAN MODE,否则MATCH()列列表必须与该表的某些FULLTEXT索引定义中的列列表完全匹配.布尔模式搜索可以在非索引列上进行,尽管它们可能很慢.

The MATCH() column list must match exactly the column list in some FULLTEXT index definition for the table, unless this MATCH() is IN BOOLEAN MODE. Boolean-mode searches can be done on nonindexed columns, although they are likely to be slow.

http://dev.mysql.com/doc/refman/5.0/en/fulltext-restrictions.html

这篇关于试图了解“找不到与列列表匹配的FULLTEXT索引";错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆