简体   繁体   English

MySQL fulltext in boolean mode doesn't match word (not disqualified word)

[英]MySQL fulltext in boolean mode doesn't match word (not disqualified word)

MySQL fulltext search doesn't match the word 'christoffer82' and its ilk with the root word 'christo' and I have no idea why. MySQL 全文搜索不匹配词“christoffer82”及其类似词根词“christo”,我不知道为什么。 This login only appears once in the table (it doesn't appear in more than 50% of the results) and it is not even an excluded word.此登录名仅在表中出现一次(它不会出现在超过 50% 的结果中)并且它甚至不是一个被排除的词。

NOK挪威克朗

SELECT
    usr.ID_USER AS userId
    , usr.USER_LOGIN AS userLogin
    , usr.EMAIL AS email
    , usr.MOBILE_PHONE AS mobilePhone
    , usr.FIRSTNAME AS firstName
    , usr.SURNAME AS surname
    , usr.USER_CREATED AS userCreated
    , usr.DATE_CREATED AS dateCreated
    , usr.USER_MODIFIED AS userModified
    , usr.DATE_MODIFIED AS dateModified
FROM
    BDT_USERS_DUMMY usr
WHERE 
    MATCH (usr.USER_LOGIN) AGAINST ('+christoffer82' IN BOOLEAN MODE)

OK好的

SELECT
    usr.ID_USER AS userId
    , usr.USER_LOGIN AS userLogin
    , usr.EMAIL AS email
    , usr.MOBILE_PHONE AS mobilePhone
    , usr.FIRSTNAME AS firstName
    , usr.SURNAME AS surname
    , usr.USER_CREATED AS userCreated
    , usr.DATE_CREATED AS dateCreated
    , usr.USER_MODIFIED AS userModified
    , usr.DATE_MODIFIED AS dateModified
FROM
    BDT_USERS_DUMMY usr
WHERE 
    MATCH (usr.USER_LOGIN) AGAINST ('+johan84' IN BOOLEAN MODE)

I tried everything I could find on stackOverflow我尝试了所有我能在 stackOverflow 上找到的东西

Solved.解决了。 Problem was realy on my server and fulltext works:)问题确实出现在我的服务器上并且全文有效:)

my.ini我的配置文件

increase => innodb_ft_max_token_size=50
add => innodb_ft_num_word_optimize=5000
add => innodb_ft_sort_pll_degree=10

and rebuild index并重建索引

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

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