2014-10-14 2 views
2

Я выполняю поиск в mysql с помощью MATCH() и AGAINST() функции с несколькими ключевыми словами. Как узнать, какое ключевое слово соответствует поиску.Как получить точное соответствие ключевому слову в MySQL MATCH() ПРОТИВ() поиск?

SELECT ... , MATCH(n.s_body_from_rss, n.s_full_body) AGAINST("LIST OF KEYWORDS' IN BOOLEAN MODE") AS relevance 

Этого relevance показать числовое значение, а не соответствующее ключевое слово.

Любые предложения приветствуются.

ответ

1

Получить массив результатов, а затем с помощью цикла (при | Еогеасп) в PHP соответствовать строке, используя тот же список ключевых слов в preg_match_all(), то есть [предполагая KEYWORD_LIST находится в «» отделенный значение]

preg_match_all('/\b'.str_replace(',','\b|\b', **KEYWORD_LIST**).'\b/iu',$string,$match); 
$matched_keyword = array_unique($match[0]); 

$ matched_keyword массив предоставит список ключевых слов со списком желаний.

This is a probable solution in php instead of MySQL query itself

+1

Кажется, лучшее решение. благодаря –

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

  • Нет связанных вопросов^_^