Автор Тема: Алгоритм Чудо-поиска  (Прочитано 4810 раз)

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

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« : 10 Апреля 2003, 14:56:13 »
как то на сайт своей компании (http://www.u-t-i.com.ua) мне захотелось поставить скрипт поиска. Начал чтото везде читать и выдумывать и в итоге написал скрипт который как по мне нормаально все ищет. Все строится на том что скрипт облазивает все каталоги на сайте, открывает и форматирует документы в базу данных и потом по ней все ищется свободно. Короче говоря сайт переодически индексируется и потом по этому индексу все ищется и собирается то что нашлось в таблицу как на яндексе, - почитал кратенько нажал ссылку и перешел на ту страницу.
Но вот мне тут новый сайт нужно сделать и вся информация будет лежать в базе в виде прайсов, и все таблицы будут разными тоесть по колонкам все будут разные видимо всего а мне нужно по ним искать. Как это сделать? Или все таблицы изначально нужно индексировать? Приводить в один средний вид и потом искать? Или как сделать?

Подскажите кто что думает. Меня интерисует не код а процес сам по себе.

Спасибо большое.
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #1 : 10 Апреля 2003, 15:12:46 »
Цитировать
tarya:
Или все таблицы изначально нужно индексировать?

Ты же написал поиск который ищет по индексу, теперь перепиши ту часть которая занимается индексированием и готово.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #2 : 10 Апреля 2003, 16:47:03 »
ну так яж за то примерно и спрашиваю, всетаки видно нужно проиндексить сначала бажу данных а потом уже по индексу искать...


спасибо
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Алгоритм Чудо-поиска
« Ответ #3 : 11 Апреля 2003, 01:48:30 »
tarya
вообще индексация надо завдить на этапе проектирования, ибо так правильней и выборка осуществляется быстрее, если идет по индексированным полям...
если у тебя все лежит уже в юазе - так и ищи в базе...
а чего-то видимо не понимаю, но проблемы не вижу в упор... :(
AS IS...

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #4 : 11 Апреля 2003, 12:12:24 »
Цитировать
ThE0ReTiC:
если у тебя все лежит уже в юазе - так и ищи в базе...
а чего-то видимо не понимаю, но проблемы не вижу в упор...


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

Цитировать
ThE0ReTiC:
вообще индексация надо завдить на этапе проектирования


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

спасибо
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #5 : 11 Апреля 2003, 13:52:03 »
По-моему тут проблема не в поиске/индексации а в нормализации БД.
Цитировать
вся информация будет лежать в базе в виде прайсов

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

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #6 : 11 Апреля 2003, 14:13:53 »
ну как вам обьяснить. Все очень просто. будет сайт, на нем страницы с продукцией строительной. Но так как продукция разная то нет возможности сделать все страницы похожими одна на другую, например там будет таблица в которой есть калонки - название, картинка, описание, др, др, др, .... и вот на какой то вид продукции будет например 9 колонок описания а на какой то вид всего 6, и они будут совершеннно отличаться от других... и вот просто искать по таблицам и выводить эти записи как то не охота, так как на сайте половина доков будет в файлах хтмл а половина в базе, .... я бы хотел сделать как у меня на сайте, просто выводится что нашлось - нажал ссылку и перешел на тот документ.
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #7 : 11 Апреля 2003, 14:35:20 »
Цитировать
tarya:
9 колонок

Цитировать
tarya:
всего 6

Лучше все одинаковые, по 9 (или по максимуму). Короче, лучше сразу иметь однообразие, пускай поля и пустыми остаются.
Цитировать
tarya:
в базе
И что ты имеешь ввиду под словом "база". Текстовой файл, таблица MySQL, что то еще. Уточни, плиз.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #8 : 11 Апреля 2003, 15:05:29 »
может быть я чего-то недопонимаю, но:
старый сайт был статическим, т.е. данные лежали на диске и tarya индексировал файлы, а теперь когда инфа в базе, то надо индексировать базу? если я прав, тогда нужно индексацию запускать через http пртокол, т.е. реально соединятся с сервером, скачивать страницу и ее индексировать.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
Алгоритм Чудо-поиска
« Ответ #9 : 11 Апреля 2003, 15:08:59 »
Цитировать
USE:
т.е. реально соединятся с сервером, скачивать страницу и ее индексировать.


Как делает это яндекс, на пример. И получиться универсальный поисковик. А хорошо ли это.

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #10 : 11 Апреля 2003, 15:18:39 »
Цитировать
NAS:
А хорошо ли это

ничего плохого в этом нет. можно будет индексировать и другие сайты, и осуществлять поиск по индексу двух, трех сайтов, если большая компания, а переписывать постоянно под тонкости какого-то сайта - плохо. много времени занимает переработка. а в соединении с сервером по http - просто, основная проблема в построении индекса, точнее в подсчете релевантности, в парсинге HTML, хотя если писать на Перле, то эта проблема превращается в удовольствие ;-)

[OFF]не в кассу: не знаете ли каких-либо поисковых систем с отрытым исходным кодом в которых реализовывается подсчет релевантности? или может быть какие-то гиганты раскрывали секреты своих систем?[/OFF]
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #11 : 11 Апреля 2003, 15:30:50 »
Цитировать
Mog.:
И что ты имеешь ввиду под словом "база". Текстовой файл, таблица MySQL, что то еще. Уточни, плиз.


короче говоря половина инфо лежит на сайте в файлах ХТМЛ и половина доков в базе данных MySQL


Цитировать
USE:
старый сайт был статическим, т.е. данные лежали на диске и tarya индексировал файлы, а теперь когда инфа в базе, то надо индексировать базу?


старый сайт так и роботает, и работает хорошо, разговор уже о новом сайте - где все лежит 50/50 в файлах и базе.

подключаться через ХТТП это наверное гемороя еще на год :), проще переделать мой индексирующий скрипт и индексить как файлы на сервере так и базу данных
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Алгоритм Чудо-поиска
« Ответ #12 : 11 Апреля 2003, 17:11:41 »
Цитировать
подключаться через ХТТП это наверное гемороя еще на год

вовсе нет, если утебя есть таблица со списком страниц сайта, то по ссылкам из нее прошелся к примеру striptags(implode(\'\',file(...))) и загнал все в базу, а потом поиск превращется в удовольствие даже для сервера!!!

 

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