列出由Innodb fulltext

时间:2016-01-22 11:20:52

标签: mysql full-text-search innodb full-text-indexing

在Mysql(Innodb)中,我创建了一个FULL-TEXT索引。

我是否可以使用查询来检索全文索引中包含的所有单词的列表?

我的想法是使用一个文本字段来保存TAGS列表的json转储。

我可以使用全文查询来检索匹配标记的行(它可以工作)。

剩下的问题是检索索引标记列表以实现建议和自动完成标记输入字段。

1 个答案:

答案 0 :(得分:1)

innodb_ft_aux_table mysql服务器变量在运行时设置为包含全文索引的innodb表。这将导致填充INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE。此表包含一个包含

word
  

从作为FULLTEXT

一部分的列的文本中提取的单词

您可以使用select query来查找此表中的单词列表。但是,建议将此设置仅用于测试/调试目的,因此我不会在实时环境中使用它。

此方法的另一个缺点是被索引的单词的最小长度和停用词列表。如果标签短于最小字长,则不会将其编入索引。如果标记名称在禁用词列表中,则不会对其编制索引。

老实说,我宁愿创建一个单独的表来维护标签列表,并将其用作自动完成的源。