【发布时间】:2022-11-11 17:16:18
【问题描述】:
mysql 数据库具有使用 liquibase 维护的现有表。现在需要使用启用了 ngram 的模糊搜索进行搜索。如何在我的变更集中指定使用 ngram 解析器或模糊搜索?我不是 liquibase 的专家,但我阅读了文档并且示例很基础,并且 ngram 根本没有出现在文档中。一些关于堆栈溢出的讨论似乎暗示如果我可以在我的数据库中做某事,我可以使用 liquibase 来做。谢谢!
<changeSet id="202210110300-add-index-on-product-guid-for-document" author="chn7d1w" dbms="mysql">
<createIndex tableName="REFERENCE_CHEMICAL" indexName="reference_chemical_fulltext">
<column name="NAME" />
<column name="CHEMICAL_TYPE_NAME" />
</createIndex>
<createIndex tableName="REFERENCE_VARIETY" indexName="reference_chemical_fulltext">
<column name="NAME" />
<column name="CROP_TYPE" />
</createIndex>
<createIndex tableName="REFERENCE_FERTILIZER" indexName="reference_chemical_fulltext">
<column name="NAME" />
<column name="FERTILIZER_TYPE_NAME" />
</createIndex>
</changeSet>
ALTER TABLE REFERENCE_CHEMICAL ADD FULLTEXT INDEX `reference_chemical_fulltext_index (NAME, CHEMICAL_TYPE_NAME)` WITH PARSER ngram;
ALTER TABLE REFERENCE_VARIETY ADD FULLTEXT INDEX `reference_variety_fulltext_index (NAME, CROP_TYPE)` WITH PARSER ngram;
ALTER TABLE REFERENCE_FERTILIZER ADD FULLTEXT INDEX `reference_fertilize_fulltext_index (NAME, FERTILIZER_TYPE_NAME)` WITH PARSER ngram;
【问题讨论】: