Search API предлагает текстовый поиск, для полей значение которых можно выставить как fulltext. А если у ноды есть поле термина таксономии - как его значение, подставить в этот поиск?
Или глупость пишу ?
Неужели нужно использовать computed_field для того, чтобы дублировать значение поля, как описано тут:
https://www.entermedia.com/blog/wrangling-search-api-view-facets-and-fil...
по мне наркомания какая-то.
[UPD]
Пописав поиск выяcнил, что оказывается (!) в индекс поля можно добавлять. Т.обр. можно получить имя термина в поиске. А если например, не термин, а тип материала нужен? Что тогда?
Комментарии
брать этот связанный термин, его тайтл - он то и будет строковым для текстового поиска
Про термин вроде уже понял. А что делать с типом материала?
Допустим кто-то вводит "Объявления продажа собак". Слово "объявление" можно в поиск если оно от типа материала подтянуто?
имхо - слово объявление я бы даже в стоп-слова занес,
а вот тип - объявление - в фасеты.
про вытянуть описание типа материалов в индекс - не помню там такого,
но ты в него глянь, мож там чего и есть.
Про тип материала - гипотетически. Не говорю что именно так и буду.
Неужели нельзя предусмотреть ситуации что кто то будет вводить "Объявление продажа собак", а кто-то "Статьи о собаках"?
А стоп-слова как задавать?
Нашел стоп-слова. Есть в настройках индекса.
Это можно в коде добавить через hook_entity_property_info_alter
Я б посмотрел search_api.api.php на предмет нужных хуков. По-любому там есть какой-нибудь alter-хук, который позволяет изменить куда индексировать поле.
На вкладке Поля, внизу - есть филдсет Добавить связанные поля
Добавь там ссылку на свой термин, и индексируй его как хочешь.
Термин таксономии я там нашел. А как добавить Тип материала таким образом?
В самом начале списка полей - Тип материала type
Тоже проблема связана с поиском и термином таксономии. Есть магазин на Drupal Commerce, и есть таксономия Страна производитель. В настройке полей добавил связное поле Страна и в появившихся полях выбрал Страна >> Название, проиндексировал. Набираю в поиске Россия и результатов нет. Может у кого есть идея почему не работает или ссылка нужная кто по какой смотрел как работать с этим модулем. Потому что уже много чего перепробовал, но так и не работает. В чем ошибка не пойму.
"Набираю в поиске Россия и результатов нет." - а по другим полям результаты есть?
Поля которые добавил как связанные они же термины таксономий не ищет, по другим результаты есть.
Может вы стандартный друпаловский блок поиска используете, а не от seach API?
Гадать не надо. Вот скрины может кто увидит что-либо?
https://drupal.ru/sites/default/files/field/comment_node_blog/1_21.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/2_16.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/3_9.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/4_2.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/5.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/6.jpg
https://drupal.ru/sites/default/files/field/comment_node_blog/7.jpg
Да, кстати, а как это проверить? Просто Search module отключить?
Разобрался заработало.
1. Надо fulltext на странице полей было ставить.
2. На странице Search pages там был выбран только одно поле, а надо было все выбирать.
Всем спасибо кто поучаствовал.