vancer 2 Опубликовано: 11 ноября 2009 Рассказать Опубликовано: 11 ноября 2009 Собственно, сабж... Нужно убрать одну не нужную мне категою из общего поиска по сайту. Как мне посказали, это возможно сделать путём изменения запроса к базе данных, прописав свои значения. Меня интересует, как это сделать? Прошу помощи. Буду признателен. Версия движка: 8.2 Сайт: stokmedia.ru Цитата Ссылка на сообщение Поделиться на других сайтах
vancer 2 Опубликовано: 12 ноября 2009 Рассказать Опубликовано: 12 ноября 2009 Автор Впринципе, могу заплатить... Только цену вопроса сразу озвучте в личку. Хотя, можно и здесь))) Цитата Ссылка на сообщение Поделиться на других сайтах
sergey78 18 Опубликовано: 12 ноября 2009 Рассказать Опубликовано: 12 ноября 2009 эх, довел бы кто-нить до ума этот поиск... Акела, прием! Цитата Ссылка на сообщение Поделиться на других сайтах
Akela 9 Опубликовано: 12 ноября 2009 Рассказать Опубликовано: 12 ноября 2009 эх, довел бы кто-нить до ума этот поиск... Акела, прием! Ну если есть детально описанная задача, что доводить до ума, то можно попробовать. Цитата Ссылка на сообщение Поделиться на других сайтах
ExtDev 0 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 Открываем /engine/modules/search.php Находим: $sql_request = "$sql_find ORDER BY $order_by LIMIT $search_start,$config_search_numbers"; Заменяем на: $sql_request = "$sql_find AND category != 'ИД' ORDER BY $order_by LIMIT $search_start,$config_search_numbers"; Где ИД - это ID той категории, которую нужно убрать из поиска. Цитата Ссылка на сообщение Поделиться на других сайтах
vancer 2 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 Автор Спасибо. Сейчас попробую, потом отпишусь. Цитата Ссылка на сообщение Поделиться на других сайтах
sergey78 18 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 (изменено) эх, довел бы кто-нить до ума этот поиск... Акела, прием! Ну если есть детально описанная задача, что доводить до ума, то можно попробовать. Сразу предупрежу, что я не програмист, поэтому возможны неточности в описании задачи. Да и ТЗ писал прямо сразу, не готовясь)) --------------------------- АВТОЗАПОЛНЕНИЕ Необходимо, чтобы во время набора текста в поле поиска, показывался список подсказок, взятых из заголовков "новостей". По опыту знаю, что без таких подсказок люди вводят слишком длинный поисковой запрос, либо содержащий ошибки и опечатки. --------------------------- РЕЛЕВАНТНОСТЬ ВЫДАЧИ На сколько я понимаю, сейчас выдача сортируется по значению, по которому сортируются новости на сайте. Точно не помню - уже давно это изменил у себя. Я долго пытался придумать, как сделать поиск более релевантным, и все что я смог сделать в существующих условиях - сделал сортировку выдачи по кол-ву просмотров. Что можно сделать? я не кодер, но точно знаю, что одно из улучшений будет сделать так чтобы сначала показывались результаты, найденные в ЗАГОЛОВКАХ, а потом уже в теле новости. --------------------------- БАЗА ДАННЫХ Помимо традиционных "новостей" ДЛЕ некоторые админы (вроде меня) создают свои модули, которые работают со своими таблицами в БД. Например, у меня вакансии, объявления, и еще кое-что - это свои таблицы. Хотелось бы, чтобы такие таблицы можно было удобно подключать к поиску. Чтобы можно было указать в каких таблицах производить поиск, и какие поля показывать. Можно к "своим" таблицам со стороны разработчика предъявлять некоторые требования, чтобы соответствовали, чтобы были подключаемы к системе. Можно сделать этакие поисковые группы. Например группа "Компании" будет включать определенные категории новостей. Группа "Новости" - другие категории. Группа "Вакансии" - будет таблица из БД моего собственного модуля. Человек будет включая и выключая галочки, выбирать, в каких группах искать. --------------------------- ИНТЕРФЕЙС Определенно нужно улучшить поисковой интерфейс. Нужно каким-то образом сделать так, чтобы админ мог настраивать галочки, чтобы пользователь сам выбирал, где (в каких "поисковых группах") хочет искать. Существующий расширенный поиск каждый день становится менее нужным, потому что не гибкий. --------------------------- ДОПУСТИМ Человек во время поиска выбирает галочками, что хочет искать например в компаниях, в новостях, и в вакансиях. в этом случае, выдача будет осуществляться следующим образом: - найденное в заголовках новостей - найденное в тексте новостей - найденное в заголовках компаний - найденное в тексте компаний - найденное в заголовках вакансий - найденное в тексте вакансий в выдачу будут включаться дополнительные модули, если их настроит админ, и если чел поставит соответствующую галку. В ЗАКЛЮЧЕНИИ ОТМЕЧУ, ЧТО ПОИСК - ЭТО НА МОЙ ВЗГЛЯД САМЫЙ ВАЖНЫЙ ЭЛЕМЕНТ НА САЙТЕ. У поиска самые мощные возможности удержать человека на сайте. Нужно просто эти возможности реализовать. Изменено 13 ноября 2009 пользователем sergey78 Цитата Ссылка на сообщение Поделиться на других сайтах
Akela 9 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 Сразу предупрежу, что я не програмист, поэтому возможны неточности в описании задачи. Да и ТЗ писал прямо сразу, не готовясь)) --------------------------- АВТОЗАПОЛНЕНИЕ Необходимо, чтобы во время набора текста в поле поиска, показывался список подсказок, взятых из заголовков "новостей". По опыту знаю, что без таких подсказок люди вводят слишком длинный поисковой запрос, либо содержащий ошибки и опечатки. --------------------------- РЕЛЕВАНТНОСТЬ ВЫДАЧИ На сколько я понимаю, сейчас выдача сортируется по значению, по которому сортируются новости на сайте. Точно не помню - уже давно это изменил у себя. Я долго пытался придумать, как сделать поиск более релевантным, и все что я смог сделать в существующих условиях - сделал сортировку выдачи по кол-ву просмотров. Что можно сделать? я не кодер, но точно знаю, что одно из улучшений будет сделать так чтобы сначала показывались результаты, найденные в ЗАГОЛОВКАХ, а потом уже в теле новости. --------------------------- БАЗА ДАННЫХ Помимо традиционных "новостей" ДЛЕ некоторые админы (вроде меня) создают свои модули, которые работают со своими таблицами в БД. Например, у меня вакансии, объявления, и еще кое-что - это свои таблицы. Хотелось бы, чтобы такие таблицы можно было удобно подключать к поиску. Чтобы можно было указать в каких таблицах производить поиск, и какие поля показывать. Можно к "своим" таблицам со стороны разработчика предъявлять некоторые требования, чтобы соответствовали, чтобы были подключаемы к системе. Можно сделать этакие поисковые группы. Например группа "Компании" будет включать определенные категории новостей. Группа "Новости" - другие категории. Группа "Вакансии" - будет таблица из БД моего собственного модуля. Человек будет включая и выключая галочки, выбирать, в каких группах искать. --------------------------- ИНТЕРФЕЙС Определенно нужно улучшить поисковой интерфейс. Нужно каким-то образом сделать так, чтобы админ мог настраивать галочки, чтобы пользователь сам выбирал, где (в каких "поисковых группах") хочет искать. Существующий расширенный поиск каждый день становится менее нужным, потому что не гибкий. --------------------------- ДОПУСТИМ Человек во время поиска выбирает галочками, что хочет искать например в компаниях, в новостях, и в вакансиях. в этом случае, выдача будет осуществляться следующим образом: - найденное в заголовках новостей - найденное в тексте новостей - найденное в заголовках компаний - найденное в тексте компаний - найденное в заголовках вакансий - найденное в тексте вакансий в выдачу будут включаться дополнительные модули, если их настроит админ, и если чел поставит соответствующую галку. В ЗАКЛЮЧЕНИИ ОТМЕЧУ, ЧТО ПОИСК - ЭТО НА МОЙ ВЗГЛЯД САМЫЙ ВАЖНЫЙ ЭЛЕМЕНТ НА САЙТЕ. У поиска самые мощные возможности удержать человека на сайте. Нужно просто эти возможности реализовать. АВТОЗАПОЛНЕНИЕ Я думал над этим и в принципе сделать не трудно. Как промежуточный вариант я пока сделал небольшой модуль "Быстрый поиск" (см. на сайте infanata.org слева вверху) - работает на АЯКС, позволяет оперативно искать НЕ выходя с текущей страницы. РЕЛЕВАНТНОСТЬ ВЫДАЧИ Без изменений в структуре базы или введения более сложных запросов я решения пока не вижу. БАЗА ДАННЫХ Пока универсального решения нет, надо формализовать задачу. ИНТЕРФЕЙС Я предлагал Владимиру ввести редактирование шаблона поиска в админке, но это предложение не было им поддержано. З.Ы. У меня есть также микро-модуль "Поиск по тэгам" , также на АЯКС. Возможно, эти два АЯКС-модуля послужат основой нового универсального модуля поиска, я еще пока не знаю. Цитата Ссылка на сообщение Поделиться на других сайтах
vancer 2 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 (изменено) Автор Открываем /engine/modules/search.php Находим: $sql_request = "$sql_find ORDER BY $order_by LIMIT $search_start,$config_search_numbers"; Заменяем на: $sql_request = "$sql_find AND category != 'ИД' ORDER BY $order_by LIMIT $search_start,$config_search_numbers"; Где ИД - это ID той категории, которую нужно убрать из поиска. Работает! Правильно ли я понимаю, что бы исключить несколько категорий из поиска, нужно вбить их ID через запятую? ... Ещё один баг обнаружил))) Например, пишем в поиске слово музыка, нам модуль сообщает: По Вашему запросу найдено 76 ответов (Результаты запроса 1 - 19) При попытке перейти на следующую страницу (всего 5 страниц) выводится следующее: К сожалению, поиск по сайту не дал никаких результатов. Попробуйте изменить или сократить Ваш запрос. Т.е. получается, что найдено 76, а посмотреть можно только первые 19 результатов... С чем может быть связано? Можно ли убрать категорию только из общего поиска, а в расширенном оставить? Так или иначе, СПАСИБО! Изменено 13 ноября 2009 пользователем vancer Цитата Ссылка на сообщение Поделиться на других сайтах
sergey78 18 Опубликовано: 13 ноября 2009 Рассказать Опубликовано: 13 ноября 2009 Akela, большое спасибо, что ответили. надеюсь, разработчик уделит внимание поиску. Владимир, пожалуйста, скажите, стоит ли нам ждать чего-нить из вышеописанного? просто были случаи, когда я заказывал дорогостоящий модуль (больше стоимости движка), а потом выяснялось, что в нем нет необходимости, и хотелось бы знать ваши планы - будете ли усовершенствовать поиск или нет... на счет нагрузки - можно сделать выбор поиска в админке, чтобы каждый админ сам решал. Цитата Ссылка на сообщение Поделиться на других сайтах
baxus 49 Опубликовано: 14 ноября 2009 Рассказать Опубликовано: 14 ноября 2009 Зачем усовершенствовать поиск. Вот решение. создаём фаил robots.txt в него прописываем User-agent: * Disallow:/category Где собственно категорию заменить на свою. Потом заходим на гугл подключаемся к адсенсее, создаём пользовательский поиск по сайту. И получаем поиск по сайту без данной категории, так как категория запрещена к индексации, а гугловский поиск выдаёт только проиндексированные страницы. А повезёт ещё и бабла заработать можно. Цитата Ссылка на сообщение Поделиться на других сайтах
vancer 2 Опубликовано: 15 ноября 2009 Рассказать Опубликовано: 15 ноября 2009 Автор Мысль интересная... Но в моём случае идея была в другом. Хотя, как вариант, можно запретить индексацию Гуглом, а Яшей оставить. Тогда новости с открытого раздела будут доступны с Яндекса (в принципе этого достаточно), а с сайта их уже станет не найти))) Отлично. Надо подумать на этим вариантом. Спс. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.