Search API - текстовый поиск для полей у которых нет fulltext

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

Аватар пользователя VasyOK VasyOK 9 апреля 2018 в 8:12

Search API предлагает текстовый поиск, для полей значение которых можно выставить как fulltext. А если у ноды есть поле термина таксономии - как его значение, подставить в этот поиск?

Или глупость пишу ?

Неужели нужно использовать computed_field для того, чтобы дублировать значение поля, как описано тут:
https://www.entermedia.com/blog/wrangling-search-api-view-facets-and-fil...
по мне наркомания какая-то.

[UPD]
Пописав поиск выяcнил, что оказывается (!) в индекс поля можно добавлять. Т.обр. можно получить имя термина в поиске. А если например, не термин, а тип материала нужен? Что тогда?

Комментарии

Аватар пользователя VasyOK VasyOK 9 апреля 2018 в 16:05

Про термин вроде уже понял. А что делать с типом материала?
Допустим кто-то вводит "Объявления продажа собак". Слово "объявление" можно в поиск если оно от типа материала подтянуто?

Аватар пользователя multpix multpix 9 апреля 2018 в 21:37

имхо - слово объявление я бы даже в стоп-слова занес,
а вот тип - объявление - в фасеты.

про вытянуть описание типа материалов в индекс - не помню там такого,
но ты в него глянь, мож там чего и есть.

Аватар пользователя VasyOK VasyOK 9 апреля 2018 в 21:55

Про тип материала - гипотетически. Не говорю что именно так и буду.
Неужели нельзя предусмотреть ситуации что кто то будет вводить "Объявление продажа собак", а кто-то "Статьи о собаках"?
А стоп-слова как задавать?

Аватар пользователя fairrandir fairrandir 9 апреля 2018 в 23:58

Я б посмотрел search_api.api.php на предмет нужных хуков. По-любому там есть какой-нибудь alter-хук, который позволяет изменить куда индексировать поле.

Аватар пользователя Andruxa Andruxa 10 апреля 2018 в 14:06

На вкладке Поля, внизу - есть филдсет Добавить связанные поля
Добавь там ссылку на свой термин, и индексируй его как хочешь.

Аватар пользователя Knayz Knayz 28 июня 2018 в 12:28

Тоже проблема связана с поиском и термином таксономии. Есть магазин на Drupal Commerce, и есть таксономия Страна производитель. В настройке полей добавил связное поле Страна и в появившихся полях выбрал Страна >> Название, проиндексировал. Набираю в поиске Россия и результатов нет. Может у кого есть идея почему не работает или ссылка нужная кто по какой смотрел как работать с этим модулем. Потому что уже много чего перепробовал, но так и не работает. В чем ошибка не пойму.

Аватар пользователя Knayz Knayz 28 июня 2018 в 19:52
Аватар пользователя Knayz Knayz 28 июня 2018 в 20:07

VasyOK wrote:

Может вы стандартный друпаловский блок поиска используете, а не от seach API?


Да, кстати, а как это проверить? Просто Search module отключить?

Аватар пользователя Knayz Knayz 28 июня 2018 в 20:37

Разобрался заработало.
1. Надо fulltext на странице полей было ставить.
2. На странице Search pages там был выбран только одно поле, а надо было все выбирать.
Всем спасибо кто поучаствовал.