Проблема с search...

25 мая 2017 в 9:42
Аватар пользователя Asta Asta 0 13

Добрый день! Использую «Search live results» и «Search pages».
Сам поиск работает исправно, но только при условии, что человек задаст в поиск больше 4 символов («ябло», «груш»...)

Но если задать слово меньше 4х символов («ябл», «гру»...), то все ломается и получаю страницу вида:
1

Смотрю в Журнале - ни каких ошибок нет. Как можно это исправить или сделать редирект куда-то, что бы пользователь не видел этого ужаса?

Спасибо

Комментарии

Попробуйте выставить минимальную длину поискового запроса в настройках поискового сервера.

Конфигурация - Поиск и метаданные - Search API, а там кликните "Редактировать" на ваш сервер. Именно на сервер, а не на индекс.

25 мая 2017 в 10:41

Не помогает.
Я заметил, что в консоли, когда такое происходит, пишет "Failed to load resource: the server responded with a status of 500 (Internal Server Error)"

25 мая 2017 в 11:13

Модуль Search pages помомоему требует Search API, Database search. если да то вам подсказали выше ↑ в модуле Search live results нет никаких настроек о мин длине поискового запроса?

25 мая 2017 в 11:08

В зависимости от количества контента, можно внедрить serach api с Database search. а если контента мало около 2000, хотя ИМ видел с 20к товаров на котором поиск на сайте был реализоваан через views с модулем https://www.drupal.org/project/search_api_autocomplete

25 мая 2017 в 11:15

ну если у вас 125K тогда пусть остуется serach api с Database search. Вам лучше более подробно расписать проблему. Что бы дать вразумительный ответ нежели просто ссылаться вас на модули. Вообще думаю что если 125К контента то нужен специалист на поддержку.

25 мая 2017 в 11:35

Хорошо, давайте распишу более детально.

1. Имеется сайт с 125К материалами.
2. На сайте организован поиск через: Database search, Search API, Search live results, Search pages.

Через «live results» результаты отображаются, но если я нажму «Поиск», что бы отобразить все результаты на странице поиска - то получаю страшную страницу.
1
При этом не важно, есть совпадения в названии или нету, все равно получаю эту страницу.
В Отчеты -> Журнал ни каких ошибок нет.
Когда открываю консоль разработчика на этой страшной странице, мне пишет Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Одни страницы (по словам которые забиваю в поиск) находит, другим выдает такую фигню. Не могу понять в чем закономерность. Думал, может проблема в том, что какие-то страницы поиском не проиндексированы «admin/config/search/search_api/index/search» но это не помогло.
Попытался уменьшить количество слов для поиска, тоже не помогло.
Кстати, тоже заметил проблему, что не важно какой длины я буду писать слово в поиск, хоть 10 букв, все равно может выдать такую проблему.

25 мая 2017 в 12:03

Заметил закономерность, что НОРМАЛЬНАЯ страница с результатами поиска отображается нормально только в том случае если я ввиду полное название и мне выдаст поиск только 1 результат.

Если результатов больше >1 - то выдается страшная страница

25 мая 2017 в 12:06

1. У вас есть проблемы связанные с модулем Database search, из комментарий выше.
2. возможно у вас проблемы со стилями (эта проблема возникла в следствии 1-й причины)
3. Причина не корректной работы возможна в модуле Search pages или в Search live results, скорее всего в Search pages, т.к. я немного не понимаю зачем вы его ставили, если можно было через модуль Search live results выести данные через view.
Вопрос если ввести "ябло" автокомплит выдает пустой результат?

25 мая 2017 в 12:32

Почему сделал поиск таким образом, потому что попалась в свое время интересная инструкция http://drupal.ru/node/130905
Дайте пожалуйста ссылку на инструкцию как можно сделать поиск по вашему через View

25 мая 2017 в 14:00

Статья, gun_dose, хорошая.
Вам обычный поиск через views не подойдет, точнее подойдет но он будет медленне работать с таким количеством контента, Лучше поднимите статью в топ и gun_dose ответит вам:-)

25 мая 2017 в 14:13

Как оказалось, проблема была в модуле «Search API pages». Переустановил, и все решилось.
Спасибо за помощь

25 мая 2017 в 15:58