Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
87 of 182 menu
Бесплатный курс по Верстке. От новичка до продвинутого верстальщика! Начало 11 ноября. Жми для записи!

Таблица search_node_links

Таблица search_node_links является вспомогательной таблицей для системы поиска Drupal. Она создает связи между поисковыми терминами (словами) из индекса и узлами (нодами), в которых эти термины были обнаружены. Это позволяет эффективно находить все узлы, связанные с определенным поисковым термином.

Поля

Поле Тип данных Описание
nid int Идентификатор узла (ноды). Внешний ключ, ссылается на таблицу node.
sid int Идентификатор поискового термина. Внешний ключ, ссылается на таблицу search_total.
type varchar(16) Тип связи. Определяет, как термин связан с узлом (например, через заголовок, содержимое и т.д.).

Как это работает

Когда выполняется индексация контента для поиска, система анализирует содержимое узлов (нод) и извлекает из них значимые слова (термины). Для каждого найденного термина в таблице search_total создается или обновляется запись.

Параллельно в таблице search_node_links создаются связи между идентификатором узла (nid) и идентификатором поискового термина (sid). Поле type указывает тип контента, из которого был извлечен термин (например, 'node' для основного содержимого).

При выполнении поискового запроса система использует эти связи для быстрого нахождения всех узлов, связанных с искомыми терминами, без необходимости полного сканирования содержимого каждого узла.

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

Пример SQL-запроса

Найти все узлы, связанные с определенным поисковым термином:

SELECT n.nid, n.title FROM search_node_links snl INNER JOIN search_total st ON snl.sid = st.sid INNER JOIN node n ON snl.nid = n.nid WHERE st.word = 'drupal';

Смотрите также

  • таблицу node,
    которая хранит основную информацию об узлах
  • таблицу search_total,
    которая содержит статистику поисковых терминов
  • таблицу search_index,
    которая хранит полнотекстовый поисковый индекс
  • таблицу search_dataset,
    которая содержит проиндексированные данные для поиска