Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   организация поиска по сайту (http://forum.oszone.net/showthread.php?t=46885)

struk 19-03-2005 10:31 308184

организация поиска по сайту
 
Подскажите как можна организовать поиск ссылок на своём сайте!!!

mar 19-03-2005 10:35 308189

struk
обязательно, но только давайте сначала Вы подскажите, что у Вас за сайт (статика, динамика, используется СУБД, или нет ) и какими средствами можно работать (что стоит на хостинге) :)

struk 19-03-2005 11:41 308197

Сайт только в разработке. Это будет что-то типа небольшой библиотеки без БД. На сайте будут размещатса книги автора и мне нужно организовать их быстрый поиск.

mar 19-03-2005 12:21 308205

Если Вы не используете бд, Вам придется организовать индексацию сайта и поиск по индексам. Индексы и словари можно хранить как в бд, так и в плоских файлах. Кроме того на многих хостингах сейчас поддерживается система mnogosearch, позволяющая грамотно индексировать сайт.
Соответственно дальше требуется скрипт, работающий с полученными индексами и осуществляющий по ним поиск. (естественно поиск-разработка скрипта и системы индексации ведется одновременно, - это вещи взаимосвязанные :))

struk 19-03-2005 12:36 308207

Спасибо.

E-mail 19-03-2005 14:02 308218

а как организовать поиск по бд?:)

mar 19-03-2005 14:28 308225

E-mail
Цитата:

а как организовать поиск по бд
это шутка ? Или СУБД не созданы как раз для облегчения поисков по запросам? =)

E-mail 19-03-2005 15:51 308243

mar
нет к сожалению не шутка,
я бы был очень признателен еслиб ты расказала.

можно например в таблице ut_base с именами столбцов: id contacts content fullcontent

так сделать:


PHP код:

$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 - это то что ищем

но этот метод поиска както меня смущает...
вопрос остается открытым - как лутше?

mar 19-03-2005 16:06 308244

просто надо отвлечься от PHP. То есть понять, что идет работа с базой данных, а PHP служит не для составления запросов, а для того, чтобы приделать к этой работе интерфейс. (то есть лежит как бы уровнем выше)
Тогда ставим задачу (если я правильно ее поняла :)) - найти запись, в которой в одном из интересующих нас полей встречается слово Омск. Так? Если так, то получаем простейший вариант запроса:
Код:

SELECT id FROM ut_base WHERE  contacts like '%Омск%' or  content like '%Омск%' or  fullcontent like '%Омск%';
Дальше задумываемся, а нужен ли нам этот самый case-sensetive вариант? если нет, включаем в работу lcase. (Тут - внимание - подводный камень: lcase (и не только в mysql) криво работает при криво настроенной локали.

Запускаем наш запрос и проверяем работу. Если все OK - расписываем это все на PHP, или любом другом языке программирования с которым мы работаем.
(Естественно, я немного утрирую, но иногда очень советую, - дабы не путаться на двух уровнях сразу :))



E-mail 19-03-2005 16:34 308251

какоенибудь свое синониумическое определение дай пожалуста case-sensetive, lcase и еще зачем эти проценты (%) в запросе?
и как узнать количество встречаемое в каждой ячейке этого слова?
и что ты имеешь ввиду под словом поле? :)

и еще, почему такое *неудобный* texarea ссоздает этот форум??!! :)

mar 20-03-2005 11:25 308415

E-mail
case sensetive - чувствительный к регистру (ищем в англо-русском словаре)
LCASE(str) , LOWER(str) - строковые функции MySQL
% - маска - ищем совпадение символов не только с начала (если окружено %, то и не только по самый последний символ поля) (смотрим документацию к mysql)
поле - колонка,- понятие БД (поищите сами)
в следующий раз документацию отлавливать не буду, но и от ответов на подобные вопросы воздержусь :))

По поводу работы-оформления форума - в О сайте и форуме

struk 26-03-2005 12:26 310241

Cделал я поисковик, но у меня возникла проблема с 5 Explorerom(на 6 работает отлично). После нажатия на клавишу поис перезагружаэтся страница с иероглифами вместо русских букв, и поиск ведетса по ним. Как мне сделать что-бы отображались нормальные буквы.

Prisoner 26-03-2005 16:53 310281

Дело в том, что данные передаются серверному скрипту url кодированными (кажется только при методе GET). Поглядите в сторону использования функций urlencode, urldecode. еще дело может быть в тривиальной ошибке кодировки. Навяжите метатегами страничке какую-либо (в какой отдаете данные - текст странички) кодировку.

PahaW 08-07-2005 12:52 339431

Цитата:

Если Вы не используете бд, Вам придется организовать индексацию сайта и поиск по индексам. Индексы и словари можно хранить как в бд, так и в плоских файлах. Кроме того на многих хостингах сейчас поддерживается система mnogosearch, позволяющая грамотно индексировать сайт.
Соответственно дальше требуется скрипт, работающий с полученными индексами и осуществляющий по ним поиск. (естественно поиск-разработка скрипта и системы индексации ведется одновременно, - это вещи взаимосвязанные
RiSearch скрипт именно подходит под это описание.


Время: 00:01.

Время: 00:01.
© OSzone.net 2001-