Показать полную графическую версию : организация поиска по сайту
Подскажите как можна организовать поиск ссылок на своём сайте!!!
struk
обязательно, но только давайте сначала Вы подскажите, что у Вас за сайт (статика, динамика, используется СУБД, или нет ) и какими средствами можно работать (что стоит на хостинге) :)
Сайт только в разработке. Это будет что-то типа небольшой библиотеки без БД. На сайте будут размещатса книги автора и мне нужно организовать их быстрый поиск.
Если Вы не используете бд, Вам придется организовать индексацию сайта и поиск по индексам. Индексы и словари можно хранить как в бд, так и в плоских файлах. Кроме того на многих хостингах сейчас поддерживается система mnogosearch (http://search.mnogo.ru/), позволяющая грамотно индексировать сайт.
Соответственно дальше требуется скрипт, работающий с полученными индексами и осуществляющий по ним поиск. (естественно поиск-разработка скрипта и системы индексации ведется одновременно, - это вещи взаимосвязанные :))
а как организовать поиск по бд?:)
E-mail
а как организовать поиск по бд это шутка ? Или СУБД не созданы как раз для облегчения поисков по запросам? =)
mar
нет к сожалению не шутка,
я бы был очень признателен еслиб ты расказала.
можно например в таблице ut_base с именами столбцов: id contacts content fullcontent
так сделать:
$table="ut_base";
#$name="id";
$name="contacts";
#$name="content";
#$name="fullcontent";
if(mysql_fetch_array(mysql_query("SELECT * FROM ".$table." WHERE ".$name."=".$str)))
echo "нашли";
где
$name - это имя столбца
$table - это таблица
а $str - это то что ищем
но этот метод поиска както меня смущает...
вопрос остается открытым - как лутше?
просто надо отвлечься от PHP. То есть понять, что идет работа с базой данных, а PHP служит не для составления запросов, а для того, чтобы приделать к этой работе интерфейс. (то есть лежит как бы уровнем выше)
Тогда ставим задачу (если я правильно ее поняла :)) - найти запись, в которой в одном из интересующих нас полей встречается слово Омск. Так? Если так, то получаем простейший вариант запроса:
SELECT id FROM ut_base WHERE contacts like '%Омск%' or content like '%Омск%' or fullcontent like '%Омск%';
Дальше задумываемся, а нужен ли нам этот самый case-sensetive вариант? если нет, включаем в работу lcase. (Тут - внимание - подводный камень: lcase (и не только в mysql) криво работает при криво настроенной локали.
Запускаем наш запрос и проверяем работу. Если все OK - расписываем это все на PHP, или любом другом языке программирования с которым мы работаем.
(Естественно, я немного утрирую, но иногда очень советую, - дабы не путаться на двух уровнях сразу :))
какоенибудь свое синониумическое определение дай пожалуста case-sensetive, lcase и еще зачем эти проценты (%) в запросе?
и как узнать количество встречаемое в каждой ячейке этого слова?
и что ты имеешь ввиду под словом поле? :)
и еще, почему такое *неудобный* texarea ссоздает этот форум??!! :)
E-mail
case sensetive - чувствительный к регистру (ищем в англо-русском словаре)
LCASE(str) , LOWER(str) - строковые функции MySQL (http://dev.mysql.com/doc/mysql/ru/string-functions.html)
% - маска - ищем совпадение символов не только с начала (если окружено %, то и не только по самый последний символ поля) (смотрим документацию к mysql (http://dev.mysql.com/doc/))
поле - колонка,- понятие БД (поищите сами)
в следующий раз документацию отлавливать не буду, но и от ответов на подобные вопросы воздержусь :))
По поводу работы-оформления форума - в О сайте и форуме (http://www.forum.oszone.net/forumdisplay.php?f=17)
Cделал я поисковик, но у меня возникла проблема с 5 Explorerom(на 6 работает отлично). После нажатия на клавишу поис перезагружаэтся страница с иероглифами вместо русских букв, и поиск ведетса по ним. Как мне сделать что-бы отображались нормальные буквы.
Prisoner
26-03-2005, 16:53
Дело в том, что данные передаются серверному скрипту url кодированными (кажется только при методе GET). Поглядите в сторону использования функций urlencode, urldecode. еще дело может быть в тривиальной ошибке кодировки. Навяжите метатегами страничке какую-либо (в какой отдаете данные - текст странички) кодировку.
Если Вы не используете бд, Вам придется организовать индексацию сайта и поиск по индексам. Индексы и словари можно хранить как в бд, так и в плоских файлах. Кроме того на многих хостингах сейчас поддерживается система mnogosearch, позволяющая грамотно индексировать сайт.
Соответственно дальше требуется скрипт, работающий с полученными индексами и осуществляющий по ним поиск. (естественно поиск-разработка скрипта и системы индексации ведется одновременно, - это вещи взаимосвязанные
RiSearch скрипт именно подходит под это описание.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.