Соответствие шаблону MySQL String - Альтернативы для лайков - PullRequest
2 голосов
/ 24 января 2012

Предложение MySQL like позволяет выполнять поиск по шаблону, например '%keyword%', где ключевое слово находится внутри значения столбца.

Для сопоставления с шаблоном, где ключевое слово содержит часть значения столбца, а когда %keyword% не будет работать,мы можем использовать функцию INSTR для поиска.

Пример:

Column="Apple"
$keyword = "An Apple a day"

Здесь мы не можем сделать Column like '%$keyword%', чтобы найти совпадение, но (INSTR('$Keyword', Column)>0 сделает совпадение.

Какие альтернативы (regex ?, полнотекстовый поиск ?, lucene?) У нас есть, кроме INSTR, для сопоставления с образцом в таких случаях (примеры?)?

Обновление:

Column = "Golden Apple"
$keyword = "An Apple a day"

Даже для таких примеров я хотел бы иметь возможность сопоставлять ключевое слово $ со столбцом, поскольку они имеют общий термин «Apple».

Ответы [ 3 ]

1 голос
/ 24 января 2012

В этом случае вы все еще можете использовать LIKE:

'%$keyword%' LIKE CONCAT('%', Column, '%') 

или регулярное выражение:

'%$keyword%' REGEXP Column
1 голос
/ 24 января 2012

Я не совсем понимаю, что именно вы хотите сделать, но попробуйте эту ссылку, чтобы найти справку о сопоставлении с образцом в mysql

Вы пишете процедуру, триггер,или просто выбор?

0 голосов
/ 24 января 2012

Также рассмотрим SOUNDEX и Естественный язык (с использованием полнотекстового поиска и релевантности) поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...