Mysql 未来校对全文搜索

Mysql 未来校对全文搜索,mysql,indexing,full-text-search,Mysql,Indexing,Full Text Search,我在一张桌子上有一个名为cart\u product\fti的全文索引 无论何时使用,我都必须准确列出索引中的所有字段: MATCH (foo,bar,etc) 我的想法是,如果以后我决定在索引中添加/删除一个字段,那么所有脚本都必须更新,否则它们将被破坏 因此,我想知道是否有办法获取索引中所有字段的列表,然后将列表插入我的MATCH(),以便在更改全文索引时不必更新该列表?可能的解决方案: 做这项工作就行了。一个结构合理的项目可能只有一个或两个具有特定查询/数据关系的类或文件,所以工作应该

我在一张桌子上有一个名为
cart\u product\fti
的全文索引

无论何时使用,我都必须准确列出索引中的所有字段:

MATCH (foo,bar,etc)
我的想法是,如果以后我决定在索引中添加/删除一个字段,那么所有脚本都必须更新,否则它们将被破坏

因此,我想知道是否有办法获取索引中所有字段的列表,然后将列表插入我的
MATCH()
,以便在更改全文索引时不必更新该列表?

可能的解决方案:

  • 做这项工作就行了。一个结构合理的项目可能只有一个或两个具有特定查询/数据关系的类或文件,所以工作应该不会太多

  • 不断地为每个查询查询信息\ schema.statistics,以动态地构建查询(几乎没有效率)

  • 定义一个在表中搜索的存储过程,在这种情况下,更改表/全文索引布局只需要更改该过程一次


编辑:由于某些原因,键列用法似乎不包含全文引用,我们必须求助于信息schema.statistics表?

要列出索引中的所有字段,您可以使用SQL命令
从中显示索引

它将列出表中的每个索引,对于包含多个列的索引,每列有一个条目。 您应该仅在正确缓存索引的列列表的情况下使用该解决方案

在您的情况下,另一个解决方案是将列表存储在配置文件中,并确保在数据库结构更改时更新配置