2015-03-30 3 views
1

Я хочу выполнить поиск в таблице MySQL в двух столбцах для одного или нескольких ключевых слов.MySQL: ключевые слова для поиска в нескольких столбцах

Я попробовал этот запрос:

select * 
    from table 
where match(col1, col2) against ('keyword1 keyword 2' with query expansion) 

Но этот запрос не всегда дает правильные результаты. Какие-либо предложения?

+3

, пожалуйста, заполните полный запрос, который вы используете для лучшего понимания. –

ответ

0

Может быть, это помогает:

select *, match(col1, col2) 
      against ('keyword1 keyword2' in boolean mode) as relevance 
    from content 
where match(col1, col2) 
     against ('keyword1 keyword2' in boolean mode) 
order by relevance; 

results Сравнение этого запроса и тот, который вы написали выше.

Обратите внимание, что использование WITH QUERY EXPANSION приводит к более нечеткому поиску. От the documentation:

«Он работает, выполняя поиск в два раза, когда поисковая фраза для поиска второго оригинальная поисковой фраза сцепляется с несколькими наиболее соответствующими документами из первого поиска.»

+1

Привет, отлично! это именно то, что я искал, он отлично работает! благодаря! – Matthijs

+0

Я был бы очень признателен, если бы вы могли принять мой ответ и/или проголосовать за него: D – Trinimon

+0

Hi Trinimon .. Я пытался, но так как я новичок, у меня пока нет хорошей репутации для голосования ... – Matthijs

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