Думаю, у меня есть одно решение. Мне по-прежнему интересно узнать, есть ли лучший способ.
Вот что, кажется, работает до сих пор:
В разделе сортировки представления у меня есть эти поля в следующем порядке:
- Релевантность (по убыванию): раскрыто
- Поле даты (по убыванию): открыто
- Поле даты (такое же, по убыванию): не выставлено
После очистки кешей (важно) результат, по-видимому, заключается в том, что при переходе на страницу результатов поиска без выполнения поиска весь контент (как отфильтрованный) отображается по убыванию поля «Дата», но форма поиска и ее открытая сортировка указывает на релевантность.
Когда я ввожу термины и запускаю поиск, он возвращается отсортированным по релевантности.
Я не уверен, почему это работает. На странице конфигурации представлений запрос без ключевых слов выглядит так:
Индекс: main_index
Ключи: НУЛЬ
Условия:
[
статус = 1
И
введите массив IN (
'ресурс' => 'ресурс',
)
]
Сортировка: search_api_relevance DESC, field_display_date DESC
Опции: массив (
'search_api_view' => 'объект (Drupal\views\ViewExecutable)',
'search_api_base_path' => 'поиск/ресурсы',
)
Я могу узнать больше из журнала запросов mysql, но я признаю: я никогда не уверен, что понимаю, что я там вижу.