Поиск по сайту на пшп.

AHTIXPICT

Новичок
Поиск по сайту на пшп.

Привет Вем.

Может кто нибудь знает.
Хочу сделать поиск по сайту, но как это работает пока не пойму.
Наверне нужен какой то движок для поиска?

Ответь те кто знает как это можно реализовать
 

_RVK_

Новичок
Уточни что конкретно ты хочешь искать. Еесли это поиск, напрмер, по каталогу товаров, а он у тебя в БД, то это один принцип, если поиск по статическим страницам, то совсем другой
 

AHTIXPICT

Новичок
Нет, не БД.
С БД все просто и понятно. Это у меня работает.

Именно поиск по страницам интересует.
Вопрос в том - писать это как то на пшп или делать отдельную прогу робот, которая будет листать все и заносить в базу данных, а потом уже поиск в БД - просто.

Но хотелось бы средствами ПШП???
 

IntenT

SkyDiver
AHTIXPICT
делать отдельную прогу робот, которая будет листать все и заносить в базу данных, а потом уже поиск в БД - просто
так и делай.
называется робот-индексатор.
 

_RVK_

Новичок
AHTIXPICT Да, такой способ самый оптимальный. А потом запускай его по крону каждую ночь, например....
 

Линк

Guest
вообще люди юзают mnogosearch

но можно самому
1.собрали "образы документов" (кол-во слов и url)
2. проиндексировали

вот и все

------------
реализация ХОРОШЕГО алгоритма посика довольно сложна (релевантность, иц, целенаправленность, порог спама итд)

советую почитать статьи (искать в яндексе )
 

AHTIXPICT

Новичок
А нет опыта создания робота.
Сам принцип интересует,
Какие данные со страниц заносить в базу и т.п.
 

Линк

Guest
опыт есть, но в двух словах тут не расскажешь
мне понадобилось недели три, что бы разобраться
советую поискать в инете статьи от создателей яндекса, или любую другую литературу про поисковые алогоритмы
так же может сойти mnogosearch.ru (и его доки)
 

IntenT

SkyDiver
Линк
Многосёрч требует установки екстеншина на сервер. не все хостеры на такое идут.
 

_RVK_

Новичок
Простейший робот, ничего сложного. Основа - реги. Если робот "ходит" толко по своему сату, и он полность html то просто обрабатываешь все файлы. Простейшая релевантность, тоже не сложно реализовывается. Конечно роботы поисковых машин очень сложны, но для локального небольшого сайта, ничего сложного....
 

Линк

Guest
как минимум надо учитывать "целенаправленность" документа (что бы на слово "язык" находился докумнт про язык, а не все содержащие слово "язык")
ну и давить стол-слова (и, или, про итд)
 

_RVK_

Новичок
Линк и как ты это реализовал, бы? AI что ли? А так это как раз и называется релевантность. Количество слов + слова в заголовках <h1><h2>... для начала, со временем можно и усложнить (но нужно ли?)
 

Линк

Guest
я бы сделал так:
1/(кол-во слов в документе/как часто встречаеться слово)

если в документе 500 слов и слово встречаеться 2 раза - имеет
1/250
если 500 слов и встречаеться 200 - получаем 1/2

если учитывать спамовые пороги, то получаеться гипербола, и можно юзать ее формулу

тоесть релевантность растет вверх до определенного момента, и после "спамового порога" начинает падать в низ

ну а если вес слова зависит от заголовка то все еще чуть сложнее))
 

fisher

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

_RVK_

Новичок
Вот и я о том. Релевантность это одно, а смысл другое.
Язык - орган вкуса?
Язык какой-то страны?
Язык - пленный фриц?
Но тут говорить об этом нет смысла. Мы не систему икуственного интелекта обсуждаем, а всего лишь поиск...
 

Линк

Guest
Вы не правильно поняли про язык

>неправильному ранжированию
Fisher, можно использовать размер словаря документа, и тогда проблема будет решена

ПРоблема же с разными значениями тоже решаема
по средствам ассоциативных связей.

если слово язык встречаеться чаще всего со словом говяжий, английский и php значит есть три вида языка

если php часто встречаеться со словом "прогерство" значит они связаны

значит на запрос "язык прогерство" нужно искать те документы, где есть php.

-~{}~ 20.05.04 18:13:

я никоим образом не призываю писать исскуственный интеллект.
Просто пытаюсь доказать, что поиск - не такая уж тривиальная штука, и предаварительно стоит почитать книги
от Кнута, до практических статей
 

Silent

Новичок
> ПРоблема же с разными значениями тоже решаема
> _по средствам_ ассоциативных связей

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

neko

tеam neko
если не теоретизировать

то человеку который такой вопрос задает
проще всего будет проиндексировать документы, и людей которые над сайтом работают заставить написать к их трудам ключевые слова

например <meta name="keywords"...> или еще где-то неважно

создать нормальный поисковик который делает хотя-бы треть того что описано в пред. постах -- задача мягко говоря нетривиальная

..."ассоцитивные связи".... этож надо
 

Линк

Guest
Silent, я не лингвист

а решение проблемы я взял с rambler.ru (была статейка о том, как он устроен)
не сам же придумал

и давай не будем приставать к синаксическим ошибкам)))

-~{}~ 20.05.04 19:07:

повторяю: Я _не_ говорил, что реализовать это легко

Просто пытаюсь доказать, что поиск - не такая уж тривиальная штука, и предаварительно стоит почитать книги от Кнута, до практических статей
 
Сверху