как получить рейтинг на основе того, сколько слов соответствует вводу пользователя

В своем запросе я в основном пытаюсь использовать полнотекстовый поиск для этой поисковой системы. Когда пользователь вводит элемент, запрос проверяет, совпадают ли какие-либо поля в моей таблице mysql.

Например, скажем, пользователь вводит вIPad» , Моя таблица может иметь полязаглавие', 'описание', 'ключевые слова а также 'ссылка на сайт':

Мой стол может иметь:

 Apple, which contains the term iPad once in the description
 iOS 6, which contains iPad say twice, in the description and title (these are examples)
 and iPad, which contains the term 'iPad' in the link, description, title and keywords.

Сначала показывается третий результат шоу, затем ранг 2, а затем id 1.

Но скажи, что я хочу набратькупить iPadзапрос делает то же самое, но проверяет оба слова вместе. Если заголовок / описание / ссылка / ключевые слова не могутне найти их два слова вместе в поле, тогда он находит первое словоs самый высокий ранг, используя метод, который я показал выше.

   Apple Store -> which contains the terms Buy and iPad in the title field

Если совпадений не найдено, просто определите ранг каждого отдельного слова и ранжируйте их по этому.

$query = " SELECT * FROM scan WHERE "; 

$terms = array_map('mysql_real_escape_string', $terms);
$i = 0; 
foreach ($terms as $each) {
      if ($i++ !== 0){
            $query .= " AND "; 
      }
      $query .= "Match(title, description, keywords, link) Against ('".implode(' ',$terms)." IN BOOLEAN MODE') ";
}

Ответы на вопрос(0)

Ваш ответ на вопрос