Вопрос по Drupal 8 и поисковым модулям. В частности, Search API.
Сайт построен следующим образом. Есть словарь таксономии с разделами сайта в качестве терминов. Есть представление Views с кучей страниц в нём, у которых указаны: путь (вроде /someparentpage/somepage), поля для вывода (заголовок, содержимое, как минимум) и фильтр по терминам таксономии этого словаря разделов. Отдельно главное меню по сайту с теми самыми путями (можно было привязать через Taxonomy Menu, но не стал плодить сущности — не в лом ручками создать раздел в словаре и меню). Наполнение происходит следующим образом: раздел в словаре и меню, страница во вьюшке, в которой в критериях фильтрации можно указать несколько терминов словаря разделов (чтобы нода могла быть «прикреплена» и показана в разных разделах), сама нода, привязанная галками при создании к нужным разделам сайта, причём неопубликованная (sic!, чтобы не болталась сама по себе по своему адресу, а была доступна только по нужным путям сайта). Сделано всё это для того, чтобы а) к одной странице сайта можно было прикреплять несколько нод, б) одну ноду можно было прикреплять к разным страницам сайта, в) легко было потом тасовать эти ноды по разделам, просто расставляя нужные галки при редактировании (в типы материалов добавил поле со ссылкой на термин таксономии).
Собственно, вопрос. Как по всему этому безобразию устроить поиск? Причём так, чтобы ссылки были именно на соответствующие разделы сайта (по которым они выводятся; указаны на страницах Views и меню) а не на неопубликованные ноды, очевидно. Поставил Search API, долго мучил его и гуглил, но ничего не нашёл. Есть ещё куча других поисковых модулей, но прежде чем все их ставить, долго и мучительно пробуя, читая и выбирая, решил сначала посоветоваться здесь. Задача, на мой взгляд, довольно банальная — поиск не по нодам, а по редко изменяемым страницам Views. Добавил ноду, прикрепил к нужному разделу, переиндексировал поиск, который теперь знает, что она показывается на такой-то и такой-то страницах Views, которые доступны по прописанным в них путям.
Комментарии
Views в 8-ке = в коробке, в нем можно напрямую фильтр contains настроить по полю или нескольки и не парить моцг поисковым функционалом с индексацией. Или у Вас миллион страниц?
Я имею в виду именно поиск по сайту. Уже размещённых с помощью Views материалов. Ту строчку, куда посетитель сайта вводит слово/словосочетание и нажимает кнопочку «найти». Так вот, эти Views-страницы, выдающее содержимое по фильтру, не индексируются. Или мне в эти фильтры весь текст дублировать?
Они и не будут индексироваться. Это не странички это выборка данных. Если хотите поисковый индекс тогда ставьте search api и фасетный поиск какой-нибудь. Или solr.
Да, так и думал о выборке данных… Жаль. Спасибо, почитаю. Но, кстати, я же и написал о том, что стоит Search API. В общем, буду читать. Ещё, вроде, есть “Search by Page”; судя по описанию — то, что нужно, если я всё правильно понял. Но вот для восьмой ветки друпала пока его нет. А фасетный поиск, если я, опять же, правильно понял, не совсем то, что нужно. На сайте просто много текстов, а не каких-то сущностей с характеристиками. Так что пригодился бы просто тупо поиск по текстам во всех «разделах» сайта. Ну, на крайний случай гугловский site:… никто не отменял.
тексты это тоже сущности - блоки или ноды. solr и сфинкс позволяют гораздо лучше индексировать содержимое и критерии для поиска. и с другой стороны они свой индекс для поиска используют, что ускоряет работу при больших объемах
Да, я понимаю Я имею в виду, что в самих текстах как сущностях особых отдельных атрибутов нет, вроде цены, бренда, «в ролях», и т.п., по которым можно фасетничать. Автор, редакция, время и обчёлся. Нужен же поиск именно по словам/словосочетаниям и т.д. В общем, ещё раз спасибо за направление, куда RTFM-мить — solr, сфинкс.