0
PHP 5.8.8版MySQL的全文“精确搜索”的时候没有找到匹配
我试图创建一个区分大小写的“精确匹配”的查询,只有准确返回,实际工作没有关联虚假点击匹配结果而没有相关性残留,如下面查询2和3中的结果。
切直追,查询6作品!
我创建的表有一些测试数据:
表名= test_boolean_mode,列名=全文(utf8_bin)
123 The Black Cat 456
The Black Cat
98 The Black Cat
The Black Cat 76
543 the 456
black cat
hgs cat
gres black jgfx
black 99
查询1(区分大小写):
SELECT *
FROM `test_boolean_mode`
WHERE (MATCH `fulltext` AGAINST ('The Black Cat' IN BOOLEAN MODE))
返回:
123 The Black Cat 456
The Black Cat
98 The Black Cat
The Black Cat 76
查询2(结果是什么,我叫剩菜或虚假点击):
SELECT *
FROM `test_boolean_mode`
WHERE (MATCH `fulltext` AGAINST ('The black cat' IN BOOLEAN MODE))
返回:
black cat
gres black jgfx
black 99
查询3(结果是什么,我叫剩菜或假命中)
SELECT *
FROM `test_boolean_mode`
WHERE (MATCH `fulltext` AGAINST ('the black cat' IN BOOLEAN MODE))
返回:
black cat
gres black jgfx
black 99
下面是与测试LIKE操作
查询4(返回什么比二进制模式比较好,然而仍然区分大小写):
SELECT *
FROM `test_boolean_mode`
WHERE (`fulltext` LIKE '%the black cat%')
返回无
查询5(这是正确的,但仍区分大小写):
SELECT *
FROM `test_boolean_mode`
WHERE (`fulltext` LIKE '%The Black Cat%')
返回:
123 The Black Cat 456
The Black Cat
98 The Black Cat
The Black Cat 76
查询6(这是正确的和完美的作品,返回nothinng如果不匹配,不区分大小写!):
SELECT *
FROM `test_boolean_mode`
WHERE (`fulltext` COLLATE UTF8_GENERAL_CI LIKE '%the black cat%')
返回:
123 The Black Cat 456
The Black Cat
98 The Black Cat
The Black Cat 76
你的问题是?你似乎正在得到你想要的结果。 –
对不起,我只是想分享我一直试图找到答案的信息,现在已经三年了,无法在任何地方找到答案。我想我搞砸了,有没有地方可以在这里发布信息而不是问题? –