MySQL全文查询的奇怪问题

MySQL全文查询的奇怪问题,mysql,full-text-search,Mysql,Full Text Search,这可能与我对全文搜索的理解有关,也可能与一个已知的问题有关。我的Java代码为MySQL上的全文搜索创建搜索词,如下所示- +字* 如果DB列中的值包含比单词本身更多的文本,则此操作可以正常工作。但是,如果值是精确的,则不会返回结果。我希望它在值完全匹配时返回结果。让我举个例子- 假设DB有一个值为“Manish”的列名,现在如果我用这个- +马尼斯* 它确实正确地返回结果,但是如果我尝试这个- +曼尼什语* 它不会返回任何结果,尽管DB column-Name中存在精确匹配。在这两种情况下,我

这可能与我对全文搜索的理解有关,也可能与一个已知的问题有关。我的Java代码为MySQL上的全文搜索创建搜索词,如下所示-

+字*

如果DB列中的值包含比单词本身更多的文本,则此操作可以正常工作。但是,如果值是精确的,则不会返回结果。我希望它在值完全匹配时返回结果。让我举个例子- 假设DB有一个值为“Manish”的列名,现在如果我用这个- +马尼斯*

它确实正确地返回结果,但是如果我尝试这个- +曼尼什语* 它不会返回任何结果,尽管DB column-Name中存在精确匹配。在这两种情况下,我如何获得所需的行为?删除+符号是可行的,但当有两个或更多单词时,它返回的结果太多

任何帮助,指点者将不胜感激!我正在使用MySQL 5.0

蒂亚, -Manish

尝试移除+
+人寻找人,但不寻找摩尼什人

Man*搜索Man和Manish

它应该按照你现在的方式工作,只要你没有搜索停止词或比ft_min_word_len短的词。确保以布尔模式运行查询。您的ft_min_word_len设置是什么?ft_min_word_len设置为3。这不是一个问题,其余的事情都很好。正如我在帖子中提到的,删除“+”是有效的,但它意味着“或”条件,当我给2个或更多的词进行搜索时,它最终给出的结果比我希望的“和”要多得多。删除“+”会给多个词带来很多结果,就像它暗示的“或”条件一样。