Drupal поиск по русски

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

Аватар пользователя chilic chilic 14 сентября 2012 в 12:00

Представляю Вашему вниманию свой велосипед для поиска на русском языке в Drupal 7

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

За основу был взят модуль search_api_db и приделан русский стемминг от Котерова.
Получился поиск, использующий БД и умеющий искать по части слова.

Что такое Search API?

Проект Search API реализует АПИ, который позволяет создать на сайте поиск по любым объектам Друпала, используя любые типы поисковых систем.

Для управляющего сайтом, этот модуль очень удобен тем, что он содержит поддержку и возможность использования модуля Views для показа результата поиска, настройки фильтров и так далее. Кроме того, интеграция с Apache Solr позволяет использовать на сайте эту очень быстродействующую поисковую систему.

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

Подробнее про Search API можно почитать тут

Спасибо за тестирование Георгию.

Багрепорт приветствуются. Спасибо.
Оригинал и страница для загрузки тут.

Комментарии

Аватар пользователя keha3912 keha3912 20 сентября 2012 в 9:36

тем, что не прошел валидацию сообществом Smile насколько я знаю drupal.org есть некие правила принятия новых модулей
PS а еще бы демку проверить, как оно работает Smile

Аватар пользователя chilic chilic 20 сентября 2012 в 9:39

"keha3912" wrote:
тем, что не прошел валидацию сообществом :)

Он и не пытался проходить эту "валидацию".
Возможно это случиться если модуль действительно нужен.

Демо - пока единственный вариант, поставить самому и проверить. т.к. мой сайт на D7 ещё в разработке.

Аватар пользователя FORTIS FORTIS 12 августа 2013 в 22:50

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

Аватар пользователя chilic chilic 13 августа 2013 в 14:04

Как бы если есть интерес сообщества, почему не развивать?

"FORTIS" wrote:
ну, в таком случае найду =))

Буду очень признателен.

Аватар пользователя FORTIS FORTIS 16 августа 2013 в 22:33

установил, заменил свой search_api_db - обошлось без ошибок и варнингов, переиндексировал. но в действии не могу увидеть, пытаюсь искать по фразе "Дом" - ничего не находит, хотя есть материалы с титлом "Домик"
возможно не работает с вьюшным раскрытым фильтром "Поиск: Fulltext search" ?

это бета3, а уже вышел rc2. патчик есть? попробую с кандидатом если есть

Аватар пользователя chilic chilic 17 августа 2013 в 0:56

FORTIS wrote:
установил, заменил свой search_api_db - обошлось без ошибок и варнингов, переиндексировал. но в действии не могу увидеть, пытаюсь искать по фразе "Дом" - ничего не находит, хотя есть материалы с титлом "Домик"
возможно не работает с вьюшным раскрытым фильтром "Поиск: Fulltext search" ?

это бета3, а уже вышел rc2. патчик есть? попробую с кандидатом если есть

Пока нет, планируется к сентябрю. А не могли бы в БД индексы посмотреть? По идее должны быть только корни слов.

Аватар пользователя FORTIS FORTIS 20 августа 2013 в 0:04

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

думаю сделаю патчик с оригинальной бетой3 и поковыряюсь, как раз актуальная мне задача. хочется отдельным модулем к search_api_db иметь если есть возможность, чтобы стемминг включался как и транслитерация во вкладке Процессы, да и словари очень нужны.

Аватар пользователя KinDaZa KinDaZa 5 ноября 2014 в 8:54

К проблеме неработающего поиска:
У меня Search API по умолчанию создает таблицу в БД с полями utf8_bin. При этом русский текст индексируется в виде аброкадабры "d09ad180d183d182d0bed0b920d184d0b8d0bbd18cd182d180". Если меняю на utf8_general_ci - то ок. И поиск по-русски начинает работать.
Это только у меня такая проблема?