Релевантность с использованием Oracle Text

Я хочу реализовать текстовый поиск на основе релевантности в тексте новостей. Вот требование.

Таблица будет содержать текст новости в столбце таблицы Oracle типа CLOB. Поиск будет извлекать новостную статью на основе релевантности введенного пользователем значения в порядке убывания. например Пользователь вводит поисковый текст «турнир большого шлема». Приложение вернет все новостные статьи, в которых есть одно или несколько из этих 3 ключевых слов в следующем порядке:

  1. Все статьи с «турниром большого шлема»
  2. Все статьи, в которых есть «турнир большого шлема» или «турнир шлема»
  3. Все статьи, в которых есть все 3 слова, но не смежные
  4. Все статьи, в которых есть любые 2 из этих слов, но не смежные
  5. Все статьи, в которых есть хотя бы одно из этих слов

Поиск LIKE будет медленным из-за большого объема данных и длинного текста

Можно ли это реализовать с помощью функций поиска Oracle TEXT в Oracle 11g?

9
задан cosmos 4 July 2011 в 23:02
поделиться