Реально ли написать поисковик на php

П
На сайте с 30.06.2007
Offline
17
18895

Прошу не закидывать меня помидорами, я только начинаю изучать данный вопрос. :)

Для начала я выбрал связку php-mysql хотелось бы узнать, какую мощность она выдержит?

Сейчас у меня задача перед поисковиком проиндексировать 100000 - 200000 документов (в поисковике будет свой crawler), иметь возможность их переиндексации через некоторый промежуток времени, прикрутить морфологию русскую, ну и строить выдачу только на тексте (мета-теги, плотность слов в тексте...)

Реально ли это реализовать на вышеуказанной связке?

Буду благодарен, за Ваши ответы. :)

Да пребудет с Вами Сила!
K
На сайте с 19.06.2007
Offline
67
#1

в помощь http://google.com/coop/

бота своего не дают :-D

[Удален]
#2
писатель:
Прошу не закидывать меня помидорами, я только начинаю изучать данный вопрос. :)

Написать и настроить поисковик реально. Цена ~ 2 млн $.

Цена продвижения поисковика намного больше :)

P.S. php для написания поисковика не лучшее решение !

B
На сайте с 07.06.2007
Offline
2
#3

Почему бы и нет? Сам недавно этим занимался. Получилось неплохо, но все никак не хватает времени доделать.

P.S. делал исключительно для эксперимента

Купить 10 000 ссылок за 10$ (http://www.xap.ru/?p=119557831) - это реально!
П
На сайте с 30.06.2007
Offline
17
#4
Bazer:
Почему бы и нет? Сам недавно этим занимался. Получилось неплохо, но все никак не хватает времени доделать.

P.S. делал исключительно для эксперимента

Покажите? Можно в личку.

edogs software
На сайте с 15.12.2005
Offline
775
#5

писатель,

100-200к документов это не так много, далеко не так много как в "настоящих" поисковиках. Да и алгоритмы судя по всему у Вас будут попроще. При таких объемах скорее всего упрётесь в морфологию русскую. Но в принципе можете и осилить отнюдь не при бюджете в миллионы долларов.

Посмотрите risearch - risearch.org - возможно что-нибудь оттуда "позаимствуете".

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Слава Шевцов
На сайте с 23.07.2005
Offline
370
#6
писатель:
Для начала я выбрал связку php-mysql хотелось бы узнать, какую мощность она выдержит?

Реально ли это реализовать на вышеуказанной связке?

Выдержит эта связка около 10 запросов в секунду на приличном сервере. От больших нагрузок ляжет. Кроме того, в PHP нет многопоточности, а значит будут серьёзные проблемы с краулером (multi curl здесь слабо поможет, хотя поможет). Морфологию Вы не прикрутите. На PHP это будет сделать очень сложно. С переиндексацией тоже поимеете проблем - здесь PHP будет только мешать из-за того, что он заточен под строки, а обрабатывать придётся целочисленные массивы.

Неизменность точки зрения неизменно порождает иллюзию понимания.
П
На сайте с 30.06.2007
Offline
17
#7

Хм....а какой язык программирования по Вашему будет более оптимальным для написания поисковой системы, или может комбинирование нескольких языков? :)

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#8
писатель:
Хм....а какой язык программирования по Вашему будет более оптимальным для написания поисковой системы, или может комбинирование нескольких языков? :)

Сразу скажу, что великолепно владею C, С++ и PHP. Нормально пишу на Java, Perl и Assembler. Из этого богатства и выбираю. Поисковик выпускаю на днях, поэтому пишу по горячим следам. Сделал его от изучения рынка и до выпуска на рынок своими руками. Поэтому могу оценить сложность создания, написания и поддержки кода с учётом проекта в целом.

Внутренности и вся логика на С или С++ (С на 20-30% быстрее). Данные лучше хранить в BerkeleyDB. Она раз в 30-50 быстрее, чем MySQL. Обратные индексы, пары слово-идентификатор там же. Краулер - не знаю, не писал. Я бы заказал (там очень много тонкостей - пусть эти 200 строк напишет профи) на С. Причина - есть реальная многопоточность + предварительная обработка скачанных страниц будет намного быстрее, чем в PHP или Perl. Весь интерфейс пользователя - на PHP. Он здесь лучший. Хотя тоже вопрос, потому что в своём поисковике я написал и эту часть на С ради 50 тыс. запросов в секунду. Логи бы вёл в виде обычных файлов, которые время от времени сбрасывал в MySQL для аналитической обработки. Аналитику логов можно делать на чём угодно. Я сделал на PHP с Mysql запросами.

Я бы не стал писать на Perl, .NET и Java. Яндекс и Рамблер выедают с рынка всех стоящих разработчиков на этом языке, а их немного. Поэтому они дорогие и проект будет дорог в поддержке. С .NET таже история: лицензии (компилятор, операционка, СУБД, веб-сервер), программисты, архитекторы - всё сейчас очень дорого. Java очень тормознутая и требовательна к железу. Фанаты этого языка имеют другое мнение, но так уж сложился мой опыт.

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

Вот такой вот взгляд на то, что я недавно делал.

di_max
На сайте с 27.12.2006
Offline
262
#9

Все это правильно и точно.

Только вы одно забываете - морфологию русского языка.

Плюс обработку лексико-логических конструкций...

И посмотрите на историю Яндекса. Сколько и на что он потратил время.

И... Есть менее или более готовые работающие решения.

// Все наши проблемы от нашего не знания...
K
На сайте с 31.01.2001
Offline
737
#10
писатель:
или может комбинирование нескольких языков?

Берите пример с Яндекса: C++, C, Perl .

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий