2010-07-03 2 views
1

Я хочу выбрать похожие строки, сравнимые с заголовком columun. Название columun имеет в основном 5 или 6 шести ключевых слов. Какой алгоритм вы рекомендуете? Soundex Может быть?Предложение по поиску похожих строк в Mysql

P.S: Название columun имеет Юникода chracters, как C, O, S ...

ответ

2

Мой вопрос в ответ MySQL полнотекстового поиска. Также он поддерживает unicode.

SELECT *, match(project_title) against('sample project 55') as similarity 
    FROM projects 
    WHERE status IN(1, 2, 3, 4, 5, 6) AND id != ? AND match('sample project 55') against(?) 
    ORDER BY similarity DESC 
0

Если вы имеете в виду похожи в написании и произношении, я бы заглянуть в использовании функции SOUNDEX.

0

Честно говоря, я бы создал таблицу для keywords(id, external_id, keyword), а затем я бы присоединился к таблице против себя, упорядочивался по количеству совпадений, а затем хватал строки назад.

Если вы согласны с одной строкой, вы можете выбрать только тот, для большей эффективности с соединением.

Это может быть объединено с SOUNDEX, чтобы соответствовать вместе вещи, которые близки

Смежные вопросы