简体   繁体   English

MySQL全文索引搜索返回错误结果

[英]MySQL Fulltext index search returns wrong results

I have a MyISAM table with a Fulltext index on the NAME column which is VARCHAR(200) . 我有一个MyISAM表,在NAME列上具有全文索引,该索引是VARCHAR(200) I'm searching the table using the Boolean mode and I'm getting very strange results. 我正在使用布尔模式搜索表,但结果却很奇怪。 Example: Let's look for records with the word "TRULY" in the NAME column: 示例:让我们在“名称”列中查找带有单词“ TRULY”的记录:

select * from table_MYISAM WHERE MATCH(NAME) AGAINST('+TRULY' IN BOOLEAN MODE);

This returns no results. 这将不返回任何结果。 Now let's look for both "TRULY" and "RICHARD": 现在让我们同时查找“ TRULY”和“ RICHARD”:

select * from table_MYISAM WHERE MATCH(NAME) AGAINST('+TRULY +RICHARD' IN BOOLEAN MODE);

This query returns hundreds of thousands of records with "RICHARD" in NAME, but none contain "TRULY". 该查询返回NAME中有“ RICHARD”的成千上万条记录,但没有一个包含“ TRULY”。 What is going on? 到底是怎么回事?

如果查看清单中的myisam停用词 ,则truly存在。向下滚动。如果您不希望使用任何停用词或编辑现有停用词 ,则可以使用一个空文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM