Рейтинг:0

Не удается найти «начинается с» для критериев фильтра в представлениях (индексированное поле для таксономии)

флаг ve

Я создал представление, используя индексированные поля (поиск API), чтобы перечислить таксономию. Я использовал флажок экспорта остальных, поэтому у меня есть конечная точка API для моего представления. Я не могу найти критерий фильтра "начинается с" для поля (индексированного), которое является строкой. Я не понимаю, почему поле ведет себя как целое число и показывает больше, меньше и т. Д.

Я пытаюсь использовать hook_views_query_alter, но получаю сообщение об ошибке в строке $query->where:

Ошибка: Не удается получить доступ к защищенному свойству Drupal\search_api\Plugin\views\query\SearchApiQuery::$where

На мой взгляд, я вижу в разделе «Предварительный просмотр» запрос:

Индекс: книги
Ключи: НУЛЬ
Опции: массив (
    'search_api_view' => 'объект (Drupal\views\ViewExecutable)',
    'search_api_base_path' => 'API/книги',
  )

Как добавить критерий фильтра «начинается с» для индексированного поля, которое является строкой? Спасибо за вашу помощь

misterdidi avatar
флаг de
Судя по всему, это известная и старая проблема, так как в Drupal 7 был специальный модуль для этой цели. У меня был индекс, в котором мне приходилось фильтровать имена авторов, и я использовал трюк, упомянутый здесь: https://www.drupal.org/project/search_api/issues/3114833#comment-13528391. Возможно, это может помочь и вам.
jacksparrow avatar
флаг ve
@misterdidi спасибо за помощь! я попробую это

Ответить или комментировать

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