Покрокова інструкція налаштування Search API для пошуку з морфологією.
Хто користується вбудованим в друпал модулем пошуку і з якихось причин не хоче використовувати Search API, тому досить включити модуль Russian stemming і зробити переіндексацію індексу на сторінці admin / config / search / settings. Після цього пошук з морфологією запрацює без додаткової настройки.
Налаштування Search API
Відключаємо модуль Search.
На сторінці admin / config / search / search_api додаємо новий сервер з класом Database service:
![Drupal search api і пошук з морфологією (search api) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-ad69ab97.png)
На сторінці admin / config / search / search_api переходимо в налаштування дефолтного індексу:
![Drupal search api і пошук з морфологією (сторінці admin config) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-586bd10d.png)
Змінюємо сервер на створений раніше і зберігаємо зміни:
![Drupal search api і пошук з морфологією (пошук) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-8e82eef3.png)
На сторінці admin / config / search / search_api включаємо дефолтний індекс:
На сторінці admin / config / search / search_api переходимо в настройки Workflow у дефолтного індексу:
![Drupal search api і пошук з морфологією (search) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-313eb8b8.png)
У блоці Processors включаємо Russian stemmer:
![Drupal search api і пошук з морфологією (admin config search) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-c8fc5a8b.png)
На цій же сторінці змінюємо порядок процесорів так, щоб Russian stemmer виявився останнім і зберігаємо зміни:
На сторінці admin / config / search / search_api переходимо по посиланню Status дефолтного індексу:
Запускаємо індексування за допомогою кнопки Index now:
![Drupal search api і пошук з морфологією (admin config search) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-570ea365.png)
Після закінчення індексування перевіряємо таблицю search_api_db_default_node_index_body_value. У ній повинні бути слова без закінчень:
![Drupal search api і пошук з морфологією (модулі) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-7ebae0b0.png)
Налаштування Views
Включаємо модуль Search views зі складу Search API.
Створюємо сторінку уявлення з дефолтного індексу і з висновком Rendered entity:
![Drupal search api і пошук з морфологією (drupal) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-a736d458.png)
Додаємо розкритий фільтр Search: Fulltext search
В налаштуваннях фільтра вибираємо оператор Contains any of these words. а в поле Searched fields все поля з індексу, за якими буде відбуватися пошук:
![Drupal search api і пошук з морфологією (пошук) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-7167e8ff.png)
![Drupal search api і пошук з морфологією (search) Drupal search api і пошук з морфологією](https://images-on-off.com/images/163/drupalsearchapiipoisksmorfologiey-ef1a59fa.png)
Детальніше про Search API:
Написане актуально для Drupal 7 Схожі записи
![Drupal search api і пошук з морфологією (пошук) Drupal search api і пошук з морфологією](http://www.gravatar.com/avatar/abce2642db501e2596a28d2a63a90c59.jpg?d=identicon&s=24&r=G)
Дякую за статтю. Підкажіть а як бути якщо я підключаю модуль search api autocomplete. У мене підтягуються результати - автокомпліт працює. Проблема виникає якщо я фільтрую по термінам - додатково до пошуку. Як зробити щоб в автокомпліт потрапляли тільки дані, Ноди яких пов'язані з обраним терміном. Тобто що то зразок фасетного пошуку.
![Drupal search api і пошук з морфологією (admin config search) Drupal search api і пошук з морфологією](http://www.gravatar.com/avatar/3dc1ca02f49f330299e00a8865fead8e.jpg?d=identicon&s=24&r=G)
Дякую за статтю, в який раз до неї повертаюся.
Але тут виникла маленька проблема:
пошук тупо ігнорує цифру "0". Якщо вводити 100 - знаходить значення в яких є 100, якщо 001 - шукає тільки 1. Просто ввести 0 - все залишається на місці. Через фільтр по заголовкам такої проблеми немає, якщо заголовки брати з індексу нуль не шукає. Грішу на токенайзер, може де пробільні символи що ввести? Підкажіть будь ласка, вже всю голову зламав.
![Drupal search api і пошук з морфологією (search api) Drupal search api і пошук з морфологією](http://www.gravatar.com/avatar/3dc1ca02f49f330299e00a8865fead8e.jpg?d=identicon&s=24&r=G)
Хоча якщо токенайзер відключити нічого не змінюється ..