MySQL Fulltext search against column value?

后端 未结 2 1184
失恋的感觉
失恋的感觉 2020-12-11 02:18

I need to do a Fulltext search for a whole bunch of values out of a column in another table. Since MATCH() requires a value in the AGAINST() part, a straightforward: \"SELEC

相关标签:
2条回答
  • 2020-12-11 03:00

    Unfortunately, http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html says:

    The search string must be a string value that is constant during query evaluation. This rules out, for example, a table column because that can differ for each row.

    Looks like you'll have to search for the patterns one at a time if you use MySQL's FULLTEXT index as your search solution.

    The only alternative I can think of to allow searching for many patterns like you describe is an Inverted Index. Though this isn't as flexible or scalable as a true full-text search technology.

    See my presentation http://www.slideshare.net/billkarwin/practical-full-text-search-with-my-sql

    0 讨论(0)
  • 2020-12-11 03:17

    I hope my solution will be useful to you:

    PREPARE stat FROM 'SELECT user_profession FROM users INNER JOIN professions ON MATCH(user_profession) AGAINST (?)';
    SET @c_val = (SELECT prfs_profession FROM professions WHERE prfs_ID=1);
    EXECUTE stat USING @c_val;
    
    0 讨论(0)
提交回复
热议问题