在 Mysql (Innodb) 中我创建了一个 FULL-TEXT 索引。
是否有一个查询可以用来检索全文索引中包含的所有单词的列表?
我的想法是使用一个文本字段来保存 TAGS 列表的 json 转储。
然后我可以使用全文查询来检索匹配标签的行(它有效)。
剩下的问题是检索索引标签列表以实现建议和自动完成标签输入字段。
最佳答案
设置innodb_ft_aux_table mysql 服务器变量在运行时到包含全文索引的 innodb 表。这将导致 INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE被填充。此表包含一个 word
列,其中包含
word extracted from the text of the columns that are part of a FULLTEXT
您可以使用选择查询从该表中获取单词列表。但是,建议仅将此设置用于测试/调试目的,因此我不会真正在实时环境中使用它。
这种方法的另一个问题是被索引的单词的最小长度和停用词列表。如果标签短于最小字长,则不会被索引。如果标签名称在停用词列表中,则不会被索引。
老实说,我宁愿创建一个单独的表来维护标签列表,并将其用作自动完成的来源。
关于mysql - 列出由 Innodb 全文索引的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34945523/