Полнотекстовый индекс — быстрый старт

В этом руководстве показано, как создать полнотекстовый индекс и выполнять полнотекстовые запросы в YDB.

Создайте таблицу и полнотекстовый индекс

CREATE TABLE articles (
  id Uint64,
  title String,
  body String,
  PRIMARY KEY (id)
);

ALTER TABLE articles ADD INDEX ft_idx
  GLOBAL USING fulltext_relevance
  ON (body) COVER (title)
  WITH (tokenizer=standard, use_filter_lowercase=true);

Добавьте тестовые данные

UPSERT INTO articles (id, title, body) VALUES
  (1, "Введение", "Машинное обучение — область ИИ"),
  (2, "Поиск",    "Полнотекстовый поиск находит документы по словам"),
  (3, "Заметки",  "Нейронные сети используются в машинном обучении");

Фильтрация документов

SELECT id, title
FROM articles VIEW ft_idx
WHERE FulltextMatch(body, "машинное обучение")
LIMIT 20;

Результат выполнения запроса:

id title
1  Введение

Ранжирование документов

SELECT id, title, FulltextScore(body, "машинное обучение") AS relevance
FROM articles VIEW ft_idx
WHERE FulltextScore(body, "машинное обучение") > 0
ORDER BY relevance DESC
LIMIT 10;

Результат выполнения запроса:

id title relevance
1  Введение 1.6215210957338408

Подробнее:

Следующая