Вопросы по Search API

Главные вкладки

Аватар пользователя Marinaherma Marinaherma 16 марта 2020 в 16:51

Всем привет. Разбираюсь с Search API, возникли следующие вопросы:

  1. Как сделать, чтобы ноды снятые с публикации не попадали в индекс и потом в выдачу?
  2. Если я создаю индекс по нодам и включаю поле "комментарии", то содержимое комментариев будет попадать в индекс или нет? Потому что если я делаю отдельный индекс по комментариям, то размер поискового индекса заметно возрастает (на сайте много комментариев)
  3. Если делать для комментариев отдельный индекс, как делать страницу поиска? Если использую search api pages, то там можно создать страницу для каждого индекса, а как сделать единую страницу для всех индексов? Через views тоже не получается, нет нужного фильтра "fulltext search", который во всех статьях используется
  4. Если делаю страницу поиска через search api pages, можно ли задать критерий вывода результатов (по дате материала, например)? А то они выдаются рандомно

Заранее спасибо всем, кто откликнется

Лучший ответ

Аватар пользователя Marinaherma Marinaherma 22 марта 2020 в 13:59

Последний вопрос решился с помощью модуля Search API Sort.

Комментарии

Аватар пользователя marassa marassa 16 марта 2020 в 21:17

Сразу оговорюсь, что знаю только Drupal 8, про семерку не знаю ничего вообще.

Marinaherma wrote: Как сделать, чтобы ноды снятые с публикации не попадали в индекс и потом в выдачу?

Чтобы не попадали в индекс, на закладке Processors нужно поставить галку на Entity status:
Exclude inactive users and unpublished entities (which have a "Published" state) from being indexed.
Ну а чтобы не попадали в выдачу (если по какой-то причине не получилось отфильтровать на этапе индексирования) достаточно добавить соответствующий фильтр в соответствующее view.

Marinaherma wrote: Если я создаю индекс по нодам и включаю поле "комментарии", то содержимое комментариев будет попадать в индекс или нет?

Конкретно с комментариями не работал, но по идее добавление поля в индекс как раз для того и служит, чтобы его содержимое попало в индекс. Можно просто попробовать: практика - критерий истины.

Аватар пользователя Marinaherma Marinaherma 21 марта 2020 в 16:16

Спасибо marassa!

1. Да, действительно, есть такой фильтр и он работает. Правда, ноды всё равно индексируются, но теперь хотя бы не выводятся.
2. Тоже удалось разобраться, там нужно было сначала добавить связь с комментариями, а потом еще поле body комментариев
3. Вопрос снят, отдельный индекс для комментариев не требуется
4. Вопрос всё еще актуален

Аватар пользователя marassa marassa 21 марта 2020 в 16:26

Marinaherma wrote: 4. Вопрос всё еще актуален

Я не пробовал работать с search api pages, но насколько я понял из их описания, они предназначены для простейших случаев. Не вижу ни одной причины не использовать views, где можно настроить всё что угодно.