Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » поиск по сайту (статические страницы)

Ответить
Настройки темы
поиск по сайту (статические страницы)
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Изменения
Автор: mar
Дата: 12-01-2005
Описание: (цифирь пунктам добавила)
собственно, subj
имеется сайт. на нем куча статей (статика). Народ просит поиск, может быть придется заняться.
варианты:
1)- переводим статику в php+база, пишем движек для добавления нового (ну, и чтения старого, естественно (может быть не пойдет по многим причинам, одна из которых - не хочу лишать куска хлеба тамошнего webmaster-а )
2)- делаем индексацию и скрипт переиндексации. Webmaster, кдадя очередную статью запускает скрипт и идет переиндексация базы.
2-1- вопрос: как лучше хранить индексы? в текстовом файле-словаре, или в БД?
2-2- если в бд, то в принципе возможно не переиндексация, а доиндексация. Идеи?
3)- делаем просто перевод текста статей в бд и используем полнотекстовый поиск mysql (кто что хорошего-плохого мог бы о нем сказать?) Делаем скрипт, при запуске которого идет добавление текста новой статьи в БД.

Кому какие идеи нравятся/не нравятся? Какие еще идеи?
Спасибо

Отправлено: 00:42, 12-01-2005

 
mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
Цитата:
Звездочка является оператором усечения. В отличие от остальных операторов, она должна добавляться в конце слова, а не в начале.
пример:
apple*

... ``apple'', ``apples'', ``applesauce'', и ``applet''."
только у меня что-то не отрабатывает ни в русском, ни в латыни, вернее отрабатывает криво - вываливает все с релевантностью 0
Попробую разобраться

Отправлено: 14:57, 14-11-2005 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Кажется, нашла:
Цитата:
SELECT uri, title,
MATCH (text) AGAINST ('apple* fruit*' IN BOOLEAN MODE) AS relevant
FROM `search_index` WHERE
MATCH (text) AGAINST ('apple* fruit*' IN BOOLEAN MODE)
Вечером, попробую придумать что-нибудь более оптимальное для общего запроса.

Отправлено: 15:04, 14-11-2005 | #22


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
а слово "biapples" оно найдет?

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 15:08, 14-11-2005 | #23

mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
не найдет. Но мне, честно говоря, и не надо. Я сама чаще ищу слова без окончания, чем без приставок

В общем, сделано так:
Код: Выделить весь код
    $search_text = $_POST['search_text'];
    $bool = false;
    if( (strpos($search_text, "*") > 0) ||
    	(strpos($search_text, '"') > 0) ||
    	(strpos($search_text, "~") > 0) ||
    	(strpos($search_text, "+") > 0) ||
    	(strpos($search_text, "-") > 0) ||
    	(strpos($search_text, ">") > 0) ||
    	(strpos($search_text, "<") > 0) ||
    	((strpos($search_text, "(") > 0) && (strpos($search_text, ")") > strpos($search_text, "(")))) 
			$bool = true;
Дальше в случае $bool в запрос добавляется IN BOOLEAN MODE (см. выше)

Отправлено: 01:19, 15-11-2005 | #24


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
Цитата:
не найдет. Но мне, честно говоря, и не надо. Я сама чаще ищу слова без окончания, чем без приставок
а вот в этом и проблемма!
если ищут слово DVD, то программа WinDVD должна быть на самом верху!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 12:36, 15-11-2005 | #25

mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
ну, "у меня" сайт с немного совсем другой тематикой
Хотя, я бы, наверное, для случаев *слово (в отличие от слово*) написала один запрос, а остальное использовала бы as is - больно уж качественно и быстро работает (что, наверное, и должно быть - все-таки то, что делается средствами СУБД по скорости не переплюнуть )

Отправлено: 12:59, 15-11-2005 | #26


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
понятия скорость и функциональность это разные вещи, зачастую приходится жертвовать скоростью чтобы получить именно то чего хочется.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 13:38, 15-11-2005 | #27


Аватара для archy

Ветеран


Сообщения: 659
Благодарности: 3

Профиль | Отправить PM | Цитировать


ispell после колдовства умеет выдавать словоформы. А чем mnogosearch не устраивает?

Отправлено: 09:39, 16-11-2005 | #28

mar mar вне форума Автор темы

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


archy
ispell вообще штука замечательная и прикручиваемая к tsearch2 (postgresql). mnogosearch - тоже хорошо, но скорей всего на своем сервере (то есть ближе к случаю Влада). А в том случае о котором я пишу исторически сложился mysql + статика. Опять же может быть загоняние статики в базу данных подстегнет народ к переходу на движек ;] Ну, а мне хртелось посмотреть, что за зверь такой mysql-ый fulltext Посмотрела - пока нравится.

Отправлено: 01:49, 17-11-2005 | #29



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » поиск по сайту (статические страницы)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
поиск по сайту на PHP Vlad Drakula Вебмастеру 5 02-04-2008 11:30
Как лучше попадать в расширенный поиск по сайту Greyman О сайте и форуме 4 30-09-2005 13:32
Как организовать поиск по сайту Vampire Вебмастеру 4 30-01-2004 01:52
Скрипт php - поиск по сайту tradeukraine Вебмастеру 10 19-07-2003 08:50
Поиск по сайту lehha Вебмастеру 10 25-12-2002 07:13




 
Переход