Помогите разобраться, пожалуйста, поставил faceted_search модуль, все настроил, результаты выдает.
Далее меняю вывод результатов с Extracts на views - при поиске выдает ошибку и ничего не ищет. Прочитал ридми, там есть особенности при работе с views:
Основные требования:
- Must be a Node view. - не совсем понимаю, что это значит, но чувствую, что дело не в этом
- Must use a pager. - есть
- Must be enabled. - есть
Ограничения:
- Only a view's default display can be used (other displays are ignored). - учел
- The view cannot use exposed filters or arguments. - учел, все убрал
Остается одно:
Known issues:
- If your site is using table prefixing, you will need to tell Drupal not to
prefix temporary tables needed by Faceted Search Views. In settings.php, you
need something like the following:
$db_prefix = array(
'default' => '[your_default_prefix]_',
'temp_faceted_search_results_[env_id]' => '',
);
Но у меня в файле settings.php стоит $db_prefix = ''; - я так понимаю, что префикс не используется.
Вобщем, я в печали. Кто нибудь сталкивался с подобным при использовании этого модуля?
Итоги: отчаявшись, методом научного тыка начал исследовать все настройки вьюхи. замечательная функция Distinct в положении Yes выдает ошибку, в положении No все работает так, как надо.
Комментарии
Возможно глупый вопрос, но вы view сохранили, в настройках окружения поиска ее указали?
Views сохранен
под настройками окружения поиска вы это имеете ввиду admin/settings/faceted_search/1? Если да, то там указал, как видно в прикрепленном файле.
--Далее меняю вывод результатов с Extracts на views --
если все нормально в выпадающем списке
в настройках модуля появляется конкретный вьювс , и его нужно отметить.
у вас так?
-- Must be a Node view. - не совсем понимаю, что это значит, но чувствую, что дело не в этом --
вьювс нужен типа "материал"
-- Но у меня в файле settings.php стоит $db_prefix = ''; - я так понимаю, что префикс не используется --
да это стандарно все, дело наверное все же не в префиксах бд
а в настройке модуля и в настройке вашего вьювса. покрутите еще настройки все должно работать,
модуль хороший годный
Возможно views у вас настроен как поля а поля не заданы и т.д. Предварительный просмотр внизу страницы views что-то показывает?
Да, выше постом прикрепил изображение
Ок, понял, так и есть
Надеюсь, что вы правы, продолжу крутить
Спасибо
Да, показывает, я клонировал рабочий вьюс и удалил лишнее. Настройки прикрепил, на всякий случай
-- Настройки прикрепил, на всякий случай --
попробуйте в вашем вьювсе добавить страничное представление, пропишите какой-нибудь путь там же,
и этот же путь пропишите в настройках модуля faceted_search
Смотрите, base path в настройках faceted_search стоит faceted-search. Если ставить этот путь в настройках представления, то номер не проходит, т.к. на самом деле при поиске открывается страница faceted-search/results (опять вылазит ошибка, как будто бы ничего и не делал). Если же указать путь faceted-search/results в качестве пути для представления, то при поиске само отображение появляется, да, но поиска как такового не происходит, я так понимаю меня просто перекидывает на страницу с заданным отображением и все.
С путями ничего не надо делать, faceted search сам использует установленную вьюху.
Попробуйте в полях views вывести заголовок ноды, есть подозрения что в вывод попадают ноды без этого cck поля.
-- т.к. на самом деле при поиске открывается страница faceted-search/results --
и это правильно . далее за results через слеш будет еще что-то для каждого результата
-- Если же указать путь faceted-search/results в качестве пути для представления --
не не нужно
Вы не правы, создавать страницу в этой вьюхе не надо.
Об этом даже прямо написано «Only a view's default display can be used (other displays are ignored)».
Вывел, в равно ошибкаостается
Вот текст ошибки:
Может все таки в таблицах дело?
# Operand should contain 1 column(s) query: CREATE TEMPORARY TABLE temp_faceted_search_results_1 (nid int unsigned NOT NULL, PRIMARY KEY (nid)) Engine=HEAP SELECT n.nid AS nid, 5 * (174.13283805442 * SUM(node_search_index.score * node_search_total.count)) + 5 * POW(2, (GREATEST(MAX(n.created), MAX(n.changed), MAX(c.last_comment_timestamp)) - 1294766309) * 6.43e-8) AS score FROM node AS n INNER JOIN search_index AS node_search_index ON n.nid = node_search_index.sid INNER JOIN search_total AS node_search_total ON node_search_index.word = node_search_total.word LEFT JOIN node_comment_statistics AS c ON n.nid = c.nid WHERE ((n.status = 1) AND (n.type IN ('icon_rew')) AND ((node_search_index.word = 'adobe') AND node_search_index.type = 'node')) AND n.nid IN (SELECT DISTINCT(node.nid) AS nid, node_data_field_icon_image.field_icon_image_fid AS node_data_field_icon_image_field_icon_image_fid, node_data_field_icon_image.field_icon_image_list AS node_data_field_icon_image_field_icon_image_list, node_data_field_icon_image.field_icon_image_data AS node_data_field_icon_image_field_icon_image_data, node.type AS node_type, node.vid AS node_vid, node.title AS node_title FROM node node LEFT JOIN content_type_icon_rew node_data_field_icon_image ON node.vid = node_data_field_icon_image.vid GROUP BY nid ) GROUP BY n.nid ASC HAVING (COUNT(*) >= 1) ORDER BY score DESC in ...sites/all/modules/faceted_search/faceted_search.inc on line 1174.
# user warning: Table 'my_db.temp_faceted_search_results_1' doesn't exist query: SELECT COUNT(*) FROM temp_faceted_search_results_1 in ...sites/all/modules/faceted_search/faceted_search.inc on line 1175.
Загуглился уже совсем, не могу найти решение проблемы. Обидно. Может есть еще модуль, который выводит результаты поиска на основе представления views?
Не хватает прав у пользователя БД.
Необходимо разрешить LOCK TABLES и CREATE TEMPORARY TABLES.
Хм, а это уже интереснее, поделитесь, если не секрет, как определили - попробую ТП потеребить.
Спасибо, что еще не потеряли интерес=)
В readme есть способы решения, в разделе Installation.
Большое спасибо, если проблема действительно в этом... что же, будет мне уроком, что читать внимательней надо.
Если можно выложите скрин настройки Views и если есть подводные камни то какие, та же проблема!
Такая ошибка у меня!
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') GROUP BY n.nid ASC ORDER BY score DESC' at line 1 query: CREATE TEMPORARY TABLE temp_faceted_search_results_1 (nid int unsigned NOT NULL, PRIMARY KEY (nid)) Engine=HEAP SELECT n.nid AS nid, 5 * POW(2, (GREATEST(MAX(n.created), MAX(n.changed), MAX(c.last_comment_timestamp)) - 1297790406) * 6.43e-8) + 5 * (2.0 - 2.0 / (1.0 + MAX(c.comment_count) * 1)) AS score FROM node AS n LEFT JOIN node_comment_statistics AS c ON n.nid = c.nid WHERE ((n.status = 1) AND (n.type IN ('product'))) AND n.nid IN () GROUP BY n.nid ASC ORDER BY score DESC in /home/20/rtu.com.ua/www/sites/all/modules/faceted_search/faceted_search.inc on line 1182.
user warning: Table '20_1.temp_faceted_search_results_1' doesn't exist query: SELECT COUNT(*) FROM temp_faceted_search_results_1 in /home/20/rtu.com.ua/www/sites/all/modules/faceted_search/faceted_search.inc on line 1183.
Проблему, какорая была у меня я описал в теме жирным. Это настройка во вьюхе. А вообще поищите на д.орг. и почитайте ридми к модулю.
Там есть инструкция по установке.
может быть и это.
Еще поглядите ишьюсы к молудю на д.орг
Права есть!
Дело в том что когда я создаю "вид" модуль Faceted search его не видит, но есть доступные, но когда я начинаю их править (буквально: просто сохраню без изменений) они пропадают из поля выбора "Faceted search" использую Views 3. Повторюсь? если можно конечно, выложите скрин настройки Views.
Если можно скиньте ссылку на 1 пример! Спасибо!
Вот тут покопайтесь, может найдете. Настройки скинуть пока не могу, да и не помогут они вам, там ничего нет, практически
у вас views какой? подазреваю, что, проблема в этом !
второй
Спосибо! Так и думал все заработало!
А кто-нибудь может мне подсказать, как стандуртную форму для поиска (включается в настройках темы) заменить на форму, которая бы направляла на поиск через faced search? Вот тут я подробнее вопрос описывал http://drupal.ru/node/55890
Как вообще эти формы местами поменять (точнее, стандартную форму совсем можно выкинуть)?
Стандартную форму поиска отключите в настройках темы. faceted search в зависимости от настроек дает один или больше дополнительных блоков с формами для поиска
А какая нибудь переменная для вывода блока от faceted search в шаблоне есть?
Как для стандартного поиска:
<?php print theme('grid_block', $search_box, 'search-box'); ?>