Forum Webscript.Ru

Разное => Флейм => Тема начата: Sniper от 10 Июня 2004, 09:45:38

Название: по-настоящему мощый поиск...
Отправлено: Sniper от 10 Июня 2004, 09:45:38
Делал недавно поиск к сайту.
Он, значит ищет все вхождения строки в базе и в файлах.
НО..... Он также ищет вхождения и в словах, не имеющих отношения к искомому слову.
Например:
ищу "сталь"
Результаты:
"сталь", "стальной" и т.д.
И там же остальной, хрустальной.

А как бы сделать поиск с учетом словоформ, чтобы в результатах были все формы слова "сталь":
"сталь", "стали", сталью?

Яндекс так ищет.

Сразу прихдит в голову логичная, но совсем не практичная мысль.
На Яндексе есть некий словарь словоформ.
И каждый раз при поиске он все искомые слова он прогоняет по этому словарю,
ищет там вхождения и ищет эти словоформы в сети.

Не практичная эта мысль потому, что словарь хотя бы (русский) толковый словарь с буквами
от "А", до (например) "П", перенести из комнаты в комнату за один раз в одиночку не получится.

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

Так, что если бы было так как я преполагаю, сервер яндекса "стал" бы при первом же поиске.
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 10:02:48
ищи в интернете. уже существуют словари словоформ, некоторые даже бесплатно раздают. у ресерчера есть кажется какая-то разработка по этому поводу: словарь и класс на ПХП для поиска по нему.
http://www.risearch.org
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 10:14:31
Sniper
Если хочешь серьездный поиск организонать, то придеться писать модуль перевода слова во все словоформы... Проблемма в том, что вместо одного слова алгоритм должен прогнать поиск по 5 - 50 словам... А если введено предложение то все слова в этом пердложении придеться прогонять через этот модуль... В связи с этим встает вопрос о том, что обычные БД для этого не годяться... так же для этого не годиться и PHP... поскольку скорость оставит желать лучшего...

Совет: Если у тебя поиск по одному сайту... то не стоит даже вникать в эту проблемму - утонешь... :) пользуй оператор LIKE и радуйся жизни... :)
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 10:32:42
commander почитай, например, http://www.risearch.org/rus/rumor/index.html и не гони.
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 10:49:33
Цитировать
USE
и не гони.  

оргументируй...
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 12:12:10
Цитировать
commander:
обычные БД для этого не годяться

Цитировать
commander:
так же для этого не годиться и PHP

это мне хотелось бы услышать твои аргументы по поводу выше сказаного.
Цитировать
commander:
поскольку скорость оставит желать лучшего

буду рад увидеть реальные цифры: сколько времени занимает обработка запросов БД и сколько времени интерпретатор. какой объем индексируемой информации, структуру базы, платформу, версии ПО.
Цитировать
commander:
Если у тебя поиск по одному сайту

да, а сюда часто приходят люди, которые пишут гугл или яндекс?
Цитировать
commander:
А если введено предложение то все слова в этом пердложении придеться прогонять через этот модуль

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

видимо ты так и сделал.
Название: по-настоящему мощый поиск...
Отправлено: ThE0ReTiC от 10 Июня 2004, 12:27:10
Цитировать
USE:
буду рад увидеть реальные цифры

PHP - 1000 слов/сек
Perl - 7000 слов/сек
взято, как ни странно из
http://www.risearch.org/rus/rumor/index.html
если опять начнете флейм и грызню - тему прикрою на.
USE
аргументов, кстати в предидущем посте я так и не нашел.
только кучка встречных вопросов с наездами.
Название: по-настоящему мощый поиск...
Отправлено: ThE0ReTiC от 10 Июня 2004, 12:30:26
потом ИМХО словоформенный поиск подошел бы либо для больших (!) библиотек либо для большик поисковых систем.
и там и там врядли используются скриптовые языки и обыкновенный хостинг (по крайней мере на яндексе точно не на перле написано)
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 13:37:22
USE
1. В больших поисковых системах используються так называемые индексы загруженные в оперативную память сервера...
2. Так же не используються скриптовые языки! Как правило С++ и ему подобные языки.
Цитировать
буду рад увидеть реальные цифры

3. Буду рад не предоставить эту информацию... т.к. это комерческая тайна...
Цитировать
да, а сюда часто приходят люди, которые пишут гугл или яндекс?

4. Не очень понял этого утверждения...
Цитировать
ты наверняка смотрел статистику запросов пользователей и понял

5. Да действительно смотрел статистику запросов одного из крупнейших поисковиков рунета (по понятным причинам какого сказать не могу) 90% поиск порнухи (я был в шоке неужели народ в инет лезет только за порно)
Цитировать
видимо ты так и сделал.

6. К счастью нет...
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 13:39:37
ThE0ReTiC
не пора ли переезжать в Веб технологии? :)
Название: по-настоящему мощый поиск...
Отправлено: ThE0ReTiC от 10 Июня 2004, 13:45:31
commander
пока нет.
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:26:36
Цитировать
ThE0ReTiC:
PHP - 1000 слов/сек Perl - 7000 слов/сек

это скорость поиска по словарю.
ты недочитал вопроса.

Работа поисковой системы с ипользованием словаря словоформ, мне показалась удовлетворительной, если брать во внимание следующие данные:
1. объем индексируемой информации - 10-12 Мб
2. поисковый бот написан на Perl
3. поисковая машина на PHP
4. хранение данных в СУБД MySQL
По поводу быстродействия, могу сказать, что работа поисковой системы занимала не много не мало, а от 0,01 до 0,2 секунды в зависимости от количества результатов, загружености, конечно же количества слов в запросе.

по поводу количества слов в запросе: в Стокгольмском университете Д.Карлгрен и К.Франзен проводили небольшой эксперимент над студентами. Брали две группы студентов и один и тот же сайт с двумя версиями поиска, на одном было маленькое поле ввода текста, а в другом большое. так результаты показали следующее: первая группа вводила в среднем 2,8 слова, а вторая 3,2. что в свою очередь говорит о том, что в среднем ищут 3 слова.

Цитировать
ThE0ReTiC:
словоформенный поиск подошел бы либо для больших (!) библиотек либо для большик поисковых систем

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

скажем на сайте кенон поиск написан на ПХП. работает, но работает криво и странно.

Цитировать
ThE0ReTiC:
и там и там врядли используются скриптовые языки и обыкновенный хостинг (по крайней мере на яндексе точно не на перле написано)

понимаю. но я говорю о небольшом сайте, на котором есть контент, который ищут. почему нельзя этот поиск сделать таким, чтобы получать удовольствия от этого процесса ;-) (о затратах я, конечно, не говорю)
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:32:14
Цитировать
commander:
В больших поисковых системах

я сомневаюсь, что кто-то собирается писать большую поисковую систему. хотите переплюнуть гугл?
Цитировать
commander:
это комерческая тайна

:-))) чья комерческая тайна? компанию назови. или это тоже тайна?
Название: по-настоящему мощый поиск...
Отправлено: ThE0ReTiC от 10 Июня 2004, 16:33:50
Цитировать
USE:
это скорость поиска по словарю.

значит реальная скорость поиска будет еще меньше
Цитировать
USE:
о затратах я, конечно, не говорю

так милок в них все и упирается.
как по-твоему, если человек делает сайт за 500 уе он будет платить еще 1500 за подобный минияндекс?
на бывает неразрешимых задач.
бывает недостаточное финансирование и недостаточные сроки на реализацию.
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:36:43
Цитировать
commander:
Проблемма в том, что вместо одного слова алгоритм должен прогнать поиск по 5 - 50 словам

это ж когда надо по 50 словах?
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 16:40:15
USE
Охота на уток с шестиствольным авиацонным пулейметом, тоже довольно интересное занятие... Возможно кто-то получит удовольствие от этого процесса...
Качественный поиск по сайту можно сделать и без применения словаря словоформ... За (!)гораздо(!) меньшее время...
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:48:21
Цитировать
commander:
меньшее время

время чего? разработки или время поиска?
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:50:43
Цитировать
commander:
Охота на уток с шестиствольным авиацонным пулейметом

и что в этом плохого? главное убить зверя.
зато с рогатки по МИГу стрелять куда лучше, правда?
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 16:57:45
ThE0ReTiC
о затратах речь не шла вплоть до "Сообщение № 110104". в этом треде в затраты ничего не упирается.
Цитировать
ThE0ReTiC:
как по-твоему, если человек делает сайт за 500 уе он будет платить еще 1500 за подобный минияндекс? на бывает неразрешимых задач.

не будет. но если есть компания, которая скажем позиционируется на рынке как разработчик программного обеспечения, что мешает двух человек посадить на проект создания поисковой системы. за месяц сделать такое более-менее рабочее чудо реально.
Название: по-настоящему мощый поиск...
Отправлено: ThE0ReTiC от 10 Июня 2004, 16:59:11
все перцы.
вы меня утомили.
перехали во флейм.
Название: по-настоящему мощый поиск...
Отправлено: USE от 10 Июня 2004, 17:05:39
разрешите откланяться.
Название: по-настоящему мощый поиск...
Отправлено: commander от 10 Июня 2004, 17:13:59
Цитировать
хотите переплюнуть гугл?

Почему бы и нет... ? К тому же google не сможет уже поменять алгоритм поиска... Без фантастических финансовых вложений... слишком много серверов...
Цитировать
это ж когда надо по 50 словах?

не очень понял..
Цитировать
время чего? разработки или время поиска?

разработки...
Цитировать
и что в этом плохого? главное убить зверя.

Тогда каждый килограм по стоимотью будет сравним с платиной...
Цитировать
зато с рогатки по МИГу стрелять куда лучше, правда?

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

Большая ошибка владельцев компании! Двоих лучших специалистов посадить за содание "(!) более-менее (!) рабочее чудо" просто глупо...