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命令
从中显示索引
它将列出表中的每个索引,对于包含多个列的索引,每列有一个条目。
您应该仅在正确缓存索引的列列表的情况下使用该解决方案
在您的情况下,另一个解决方案是将列表存储在配置文件中,并确保在数据库结构更改时更新配置