Php MySQL全文搜索忽略数字
我有一个mysql全文搜索,问题是这个查询似乎偶尔会忽略数字,所以数据库中包含了像这样的视频游戏的名称 帝国时代Php MySQL全文搜索忽略数字,php,mysql,full-text-search,evaluation,Php,Mysql,Full Text Search,Evaluation,我有一个mysql全文搜索,问题是这个查询似乎偶尔会忽略数字,所以数据库中包含了像这样的视频游戏的名称 帝国时代帝国时代2帝国时代3 现在,当使用类似于帝国时代2的字符串执行全文搜索时,它有时会返回帝国时代或帝国时代3作为第一个匹配 基本上,我如何确保搜索字符串中的数字在查询中具有高优先级/或以后评估返回的匹配项时具有高优先级?您应该使用以下语法:从表1中选择*,其中列1类似于“帝国时代2” 就我而言: mysql> Select * From table1; +------------
帝国时代2
帝国时代3
现在,当使用类似于帝国时代2的字符串执行全文搜索时,它有时会返回帝国时代或帝国时代3作为第一个匹配
基本上,我如何确保搜索字符串中的数字在查询中具有高优先级/或以后评估返回的匹配项时具有高优先级?您应该使用以下语法:
从表1中选择*,其中列1类似于“帝国时代2”代码>
就我而言:
mysql> Select * From table1;
+----------------------+
|column1 |
+----------------------+
|Age Of Empires |
|Age Of Empires 2 |
|Age Of Empires 3 |
+----------------------+
mysql> Select * From table1 Where column1 Like 'Age Of Empires 2';
+----------------------+
|column1 |
+----------------------+
|Age Of Empires 2 |
+----------------------+
你确定“2”不只是太短而无法计数吗?你的意思是全文搜索不包括在内吗?@EugenRieck可能是对的。我认为全文搜索的默认设置每个项目至少有3个字符。你应该检查mysql设置。只是检查了设置,如你所说的最少3个字母,将无法更改。。。难道没有其他方法可以让数字变得有意义吗?就MySQL而言,数字没有什么特别的。因此,如果您不使用单个字母为单词编制索引,则不会为单词“2”或“3”编制索引。您可能想考虑另一列“生成”或“版本”,并做一些准备…这对《帝国时代2》和《魔兽争霸4》也有帮助。这是错误的:(如果你知道确切的值,使用=,而不是像。它根本不询问这个问题。正如@jkavalik所说,这根本不能回答这个问题。