Php 为什么在创建全文索引时,我的匹配/对照查询没有返回结果?
我已经创建了一个全文索引Php 为什么在创建全文索引时,我的匹配/对照查询没有返回结果?,php,mysql,full-text-search,Php,Mysql,Full Text Search,我已经创建了一个全文索引 ALTER TABLE pads ADD FULLTEXT search (Keywords, ProgramName, English45) 然而,ProgramName是一个Varchar,即使我没有在索引中添加它,我仍然没有得到任何结果。在我的索引列表中,这个索引的基数是1 这是我正在使用的查询 select PadID from Pads WHERE MATCH(keywords,ProgramName,English45) AGAINST('games'
ALTER TABLE pads ADD FULLTEXT search (Keywords, ProgramName, English45)
然而,ProgramName是一个Varchar,即使我没有在索引中添加它,我仍然没有得到任何结果。在我的索引列表中,这个索引的基数是1
这是我正在使用的查询
select PadID from Pads WHERE MATCH(keywords,ProgramName,English45)
AGAINST('games')
然而,这是我的目标
select PadID from Pads WHERE MATCH(keywords,ProgramName,English45)
AGAINST('games') AND RemovemeDate = '2001-01-01 00:00:00'
ORDER BY VersionAddDate DESC
这是我的Pads表字段。
我需要我的查询返回出现在三个字段中的单词。我想,您可以试试
MATCH(keywords,ProgramName,English45)
AGAINST('games' in boolean mode)
默认搜索行为
自然语言搜索将搜索字符串解释为自然人类语言中的短语或自由文本中的短语。没有专门的操作员。停止字列表适用。此外,出现在50%或更多行中的单词被视为常见且不匹配。如果没有给出修改器,则全文搜索是自然语言搜索
布尔搜索
布尔搜索使用特殊查询语言的规则解释搜索字符串。字符串包含要搜索的单词。它还可以包含指定要求的运算符,例如,匹配行中必须存在或不存在单词,或者单词的权重应高于或低于通常值。常用词如“some”或“then”是停止词,如果出现在搜索字符串中,则不匹配。“在布尔模式”修改器指定布尔搜索
你能发布节目吗?创建表格结果“游戏”经常出现吗?它可能已经达到MySQL作为停止词的阈值,因此无法搜索。