【发布时间】:2018-11-16 07:14:38
【问题描述】:
我想在全文索引列中搜索子字符串。
我的表格结构是:child_table
clustering_key int(10) unsigned NOT NULL AUTO_INCREMENT,
Parent_id char(36) NOT NULL DEFAULT '',
child_id char(36) NOT NULL DEFAULT '',
data text,
PRIMARY KEY (clustering_key),
UNIQUE KEY child_index (child_id) USING BTREE,
FULLTEXT KEY data_index (data),
CONSTRAINT FK_child_table_parent_table FOREIGN KEY (Parent_id) REFERENCES parent_table (id) ON DELETE CASCADE ON UPDATE CASCADE )
ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8;
假设样本数据是:
我观察到的一些案例:
案例 1: 当我在查询中使用此模式时 MATCH (data) AGAINST ('xy*' IN BOOLEAN MODE) 返回1 行
案例 2: 当我在查询中使用此模式时 MATCH (data) AGAINST ('zy*' IN BOOLEAN MODE) 返回2行
案例 3: 当我在查询中使用此模式时 MATCH (data) AGAINST ('*y*' IN BOOLEAN MODE)然后没有返回任何行,但我希望它会返回两行。
我认为使用 (*) 作为前缀它不起作用。
请帮我找到解决此问题的方法。
提前致谢
【问题讨论】: