Автор Тема: по-настоящему мощый поиск...  (Прочитано 9284 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sniper

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 86
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.40000.ru
по-настоящему мощый поиск...
« : 10 Июня 2004, 09:45:38 »
Делал недавно поиск к сайту.
Он, значит ищет все вхождения строки в базе и в файлах.
НО..... Он также ищет вхождения и в словах, не имеющих отношения к искомому слову.
Например:
ищу "сталь"
Результаты:
"сталь", "стальной" и т.д.
И там же остальной, хрустальной.

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

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

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

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

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

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

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #1 : 10 Июня 2004, 10:02:48 »
ищи в интернете. уже существуют словари словоформ, некоторые даже бесплатно раздают. у ресерчера есть кажется какая-то разработка по этому поводу: словарь и класс на ПХП для поиска по нему.
http://www.risearch.org
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
по-настоящему мощый поиск...
« Ответ #2 : 10 Июня 2004, 10:14:31 »
Sniper
Если хочешь серьездный поиск организонать, то придеться писать модуль перевода слова во все словоформы... Проблемма в том, что вместо одного слова алгоритм должен прогнать поиск по 5 - 50 словам... А если введено предложение то все слова в этом пердложении придеться прогонять через этот модуль... В связи с этим встает вопрос о том, что обычные БД для этого не годяться... так же для этого не годиться и PHP... поскольку скорость оставит желать лучшего...

Совет: Если у тебя поиск по одному сайту... то не стоит даже вникать в эту проблемму - утонешь... :) пользуй оператор LIKE и радуйся жизни... :)
And no religion too...

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #3 : 10 Июня 2004, 10:32:42 »
commander почитай, например, http://www.risearch.org/rus/rumor/index.html и не гони.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
по-настоящему мощый поиск...
« Ответ #4 : 10 Июня 2004, 10:49:33 »
Цитировать
USE
и не гони.  

оргументируй...
And no religion too...

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #5 : 10 Июня 2004, 12:12:10 »
Цитировать
commander:
обычные БД для этого не годяться

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

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

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

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

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

видимо ты так и сделал.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
по-настоящему мощый поиск...
« Ответ #6 : 10 Июня 2004, 12:27:10 »
Цитировать
USE:
буду рад увидеть реальные цифры

PHP - 1000 слов/сек
Perl - 7000 слов/сек
взято, как ни странно из
http://www.risearch.org/rus/rumor/index.html
если опять начнете флейм и грызню - тему прикрою на.
USE
аргументов, кстати в предидущем посте я так и не нашел.
только кучка встречных вопросов с наездами.
AS IS...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
по-настоящему мощый поиск...
« Ответ #7 : 10 Июня 2004, 12:30:26 »
потом ИМХО словоформенный поиск подошел бы либо для больших (!) библиотек либо для большик поисковых систем.
и там и там врядли используются скриптовые языки и обыкновенный хостинг (по крайней мере на яндексе точно не на перле написано)
AS IS...

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
по-настоящему мощый поиск...
« Ответ #8 : 10 Июня 2004, 13:37:22 »
USE
1. В больших поисковых системах используються так называемые индексы загруженные в оперативную память сервера...
2. Так же не используються скриптовые языки! Как правило С++ и ему подобные языки.
Цитировать
буду рад увидеть реальные цифры

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

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

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

6. К счастью нет...
And no religion too...

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
по-настоящему мощый поиск...
« Ответ #9 : 10 Июня 2004, 13:39:37 »
ThE0ReTiC
не пора ли переезжать в Веб технологии? :)
And no religion too...

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
по-настоящему мощый поиск...
« Ответ #10 : 10 Июня 2004, 13:45:31 »
commander
пока нет.
AS IS...

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #11 : 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:
и там и там врядли используются скриптовые языки и обыкновенный хостинг (по крайней мере на яндексе точно не на перле написано)

понимаю. но я говорю о небольшом сайте, на котором есть контент, который ищут. почему нельзя этот поиск сделать таким, чтобы получать удовольствия от этого процесса ;-) (о затратах я, конечно, не говорю)
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #12 : 10 Июня 2004, 16:32:14 »
Цитировать
commander:
В больших поисковых системах

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

:-))) чья комерческая тайна? компанию назови. или это тоже тайна?
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
по-настоящему мощый поиск...
« Ответ #13 : 10 Июня 2004, 16:33:50 »
Цитировать
USE:
это скорость поиска по словарю.

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

так милок в них все и упирается.
как по-твоему, если человек делает сайт за 500 уе он будет платить еще 1500 за подобный минияндекс?
на бывает неразрешимых задач.
бывает недостаточное финансирование и недостаточные сроки на реализацию.
AS IS...

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
по-настоящему мощый поиск...
« Ответ #14 : 10 Июня 2004, 16:36:43 »
Цитировать
commander:
Проблемма в том, что вместо одного слова алгоритм должен прогнать поиск по 5 - 50 словам

это ж когда надо по 50 словах?
Не ходите, дети, без «Мозиллы» дальше localhost!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28