#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2006
    Posts
    2
    Rep Power
    0

    Exclamation MYSQL full text search problem


    Hi guys,

    I have created a parser for cvs and am having problems retrieving records when searching using the keywords c#, or c++. I use a boolean full text search and if a cv contains the keyword it should be retrieved.

    Query....

    SELECT cv.id, cv.candidate_id, MATCH (cv.cv_text) AGAINST ('C++') AS score FROM db.cv_test cv, fb.candidates_test c WHERE cv.candidate_id = c.id AND c.hide_from_search = 'N' AND c.active = 'Y' AND MATCH (cv.cv_text) AGAINST (CONVERT( _utf8 '+C++' USING latin1 ) IN BOOLEAN MODE) order by score desc

    It is not a minimium letters problem as that is set to 2

    But nothing is returned.
    Any idea's / suggestions would be appreciated
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    Mar 2003
    Posts
    704
    Rep Power
    61
    The "problem" is that MySQL doesn't consider certain characters, such as # and +, to be part of a word. This problem was discussed by CNET, IIRC, at last years MySQL User's Conference and AFAIK, they don't have a solution for it yet. However, in a later version of MySQL, they're planning on allowing people to plug in their own full-text parser plugin. It appears to be in version 5.1.

    http://dev.mysql.com/doc/refman/5.1/...t-plugins.html

    Comments on this post

    • merrsh1 agrees
    blockcipher
    ---------------
    Gratuitously stolen...
    mysql> SELECT * FROM user WHERE clue > 0;
    0 Results Returned.

    PHP5/MySQL/UTF-8
    My Tech Blog
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2006
    Posts
    2
    Rep Power
    0

    thanks


    Thanks for your help. I must have spent days trying everything to solve this.

    Thanks again

IMN logo majestic logo threadwatch logo seochat tools logo