В качестве развития захотел замутить свой поисковик.
Громко. Но не глобальный, а хотя бы легковесный и только на русском языке и например только по какой-то узкой теме, например футбол в России.
Вопросы:
что вообще почитать по архитектуре?
можно ли замутить не используя свой комп для сервера а внешние бесплатные серваки, чтобы можно было показать снаружи кто захочет?
какие связки языки + базы используют обчыно, подходит ли си шарп для таких целей?
B> В качестве развития захотел замутить свой поисковик. B> легковесный и только на русском языке и например только по какой-то узкой теме, например футбол в России.
Никаких проблем. Берешь NLucene — http://lucenenet.apache.org/,
смотришь на поисковик Beagle — https://github.com/GNOME/beagle (там даже был реализован web-интерфейс для поиска),
компилируешь, разворачиваешь...
B>Вопросы: B>что вообще почитать по архитектуре?
Архитектура состоит из трёх частей:
1) кравлера (части которая фетчит сайты и парсит страницы, складывает в индекс)
в линуксе это процесс-демон
2) поискового движка, который по этому индексу ищет
это часть, выполняемая в HTTP-сервере
3) возможно, системы разграничения прав доступа (если это поиск в корпоративной системе)
это специальная админка для раздачи разных прав и сертификатов
B>можно ли замутить не используя свой комп для сервера а внешние бесплатные серваки B>чтобы можно было показать снаружи кто захочет?
Да. Нет разницы на каком компе разворачивать, а через web видно будет везде.
Бесплатный хостинг mono был на www.heliohost.org: http://wiki.helionet.org/ASP.NET
но я пользуюсь платным за 4$/месяц (VPS, XEN, gentoo linux, 512 MB RAM, RAID-1 зеркало, hostsailor.com — можно оплачивать биткоинами),
потому что это позволяет мне дать гарантию, что весь софт полностью собран из исходных текстов (и ничто никуда не пропадёт).
B> подходит ли си шарп для таких целей?
Здравствуйте, busk, Вы писали:
B>В качестве развития захотел замутить свой поисковик. B>Громко. Но не глобальный, а хотя бы легковесный и только на русском языке и например только по какой-то узкой теме, например футбол в России. B>Вопросы: B>что вообще почитать по архитектуре?
"Введение в информационный поиск" Кристофер Д. Маннинг. — Более или менее полный обзор как все устроено.
B>можно ли замутить не используя свой комп для сервера а внешние бесплатные серваки, чтобы можно было показать снаружи кто захочет?
Не ясно, что ты имеешь ввиду.
B>какие связки языки + базы используют обчыно, подходит ли си шарп для таких целей?
С++ на рантайме, Python/Bash для всяких бэкграунд процессов (например построение индекса). Про готовые базы не слышал ничего. Поисковые движки используют инвертированный индекс, не уверен что можно приспособить что-нибудь готовое для этого.
C# подходит, в Bing-е он активно используется. C++ нужен при большой нагрузки, когда нужно утилизировать последние проценты CPU.
B>>можно ли замутить не используя свой комп для сервера а внешние бесплатные серваки, чтобы можно было показать снаружи кто захочет?
AK>Не ясно, что ты имеешь ввиду.
имею ввиду, что потребуется база для хранения данных, да и насколько я понял будут процессы краулеры.
так вот хочется бесплатного чего-то, чтобы и место давали и свободу действий.
B> имею ввиду, что потребуется база для хранения данных, да и насколько я понял будут процессы краулеры. B> так вот хочется бесплатного чего-то, чтобы и место давали и свободу действий.
На работу устройся. Там всё это предоставят и даже зарплату платить будут, бесплатно.
Я мог бы бесплатно твоё решение захостить на своём VPS, но не буду. Потому что я буду настаивать на техническом аудите,
а ты не сможешь его подготовить для меня в силу твоей низкой квалификации. Ты даже не прочёл мой предыдущий ответ,
который содержал исчерпывающие и точные ответы на все твои вопросы (где моё "спасибо"?).
Индексы в Lucene хранятся как локальные файлы локальной файловой системы.
Но можно, наверное, настроить и NFS на DRBD или что-нибудь более современное.
Здравствуйте, busk, Вы писали:
B>Здравствуйте, ArtK, Вы писали:
Вообще задача очень сложная, примерно как построить самолет. В поисковике куча компонент, и над каждой обычно трудятся по несколько человек.
Я работал над 1/n-дцаотой поисковика, и там экспертизы на несколько жизней.
Поэтому присоединюсь к совету ниже, лучше устроиться на работу.
Здравствуйте, ArtK, Вы писали:
AK>Вообще задача очень сложная, примерно как построить самолет. В поисковике куча компонент, и над каждой обычно трудятся по несколько человек. AK>Я работал над 1/n-дцаотой поисковика, и там экспертизы на несколько жизней. AK>Поэтому присоединюсь к совету ниже, лучше устроиться на работу.
Не, ну смотря что человеку нужно.
Может он хочет поисковик по запретным материалам сделать (скажем, продвинутый поисковик по крекам, пиратским сайтам, запрещенному порно). На работе ты будешь получать в лучшем случае $120 тыс. в год. Это если у тебя хороший бекграунд, есть опыт и т.д. и т.п. А так вообще могут не взять.
Но если ты затеял свой проект, которому аналогов нет и не будет (так как тема запрещенная), то можешь заработать значительно больше.
Причем для таких поисковиков не нужны многие фишки. Не нужно массововать, ведь желающих платить будет не много. Не нежна такая уж высокая доступность. Не нужна лексика разных языков и пр.
Thanks for the interest. For more than the past 2 years, we have been working toward a 4.8.0 version port of Lucene.Net. It is taking a lot of time to port because we just don't have enough people working on it. Lucene is not your typical project — it has nearly 400,000 lines of code and requires a lot of manpower to get it all done.
We have a beta on MyGet now: https://www.myget.org/gallery/lucene-net. Do note that we will have a new beta soon with lots of breaking API changes from this early release as well as .NET Core support.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, ArtK, Вы писали:
Никто не спорит, пускай пробует. Но вероятность получить что-то стоящее не имея опыт в подобных вещах стремится к нулю (однако не ноль).
Задача не только сложна технически, но и просто трудоемка. Сходу можно найти работы для человек 50-ти (если постараться, то и для 100)
Здравствуйте, Arsen.Shnurkov, Вы писали:
AK>> задача вполне посильная.
AS>
Thanks for the interest. For more than the past 2 years, we have been working toward a 4.8.0 version port of Lucene.Net. It is taking a lot of time to port because we just don't have enough people working on it. Lucene is not your typical project — it has nearly 400,000 lines of code and requires a lot of manpower to get it all done.
Ну и? А вы посмотрите сколько строк кода в log4net. Десятки если не сотни тысяч. Но разве сложно написать рабочий логер под свои задачи в 3-5 строчек кода?
Здравствуйте, Shmj, Вы писали:
S>Причем для таких поисковиков не нужны многие фишки. Не нужно массововать, ведь желающих платить будет не много. Не нежна такая уж высокая доступность. Не нужна лексика разных языков и пр.
Как только он попытается деньги вывести, его ФБР и сцапает. См. всякие isohunt-ы и megaupload-ы.
Здравствуйте, ArtK, Вы писали:
AK>Вообще задача очень сложная, примерно как построить самолет. В поисковике куча компонент, и над каждой обычно трудятся по несколько человек. AK>Я работал над 1/n-дцаотой поисковика, и там экспертизы на несколько жизней. AK>Поэтому присоединюсь к совету ниже, лучше устроиться на работу.
Любую задачу можно раздуть до абсолютно непотребных размеров. При этом, ядро Linux было написано студентом в одно рыло, AAA игры пишуться в одиночку и т.д. Дело исключительно в наличии желания. Другое дело, если потом эту разработку захочется монетизировать, тут уже могут начаться сложности, хотя тоже далеко не факт.
Здравствуйте, busk, Вы писали:
B>В качестве развития захотел замутить свой поисковик. B>Громко. Но не глобальный, а хотя бы легковесный и только на русском языке и например только по какой-то узкой теме, например футбол в России. B>Вопросы: B>что вообще почитать по архитектуре? B>можно ли замутить не используя свой комп для сервера а внешние бесплатные серваки, чтобы можно было показать снаружи кто захочет? B>какие связки языки + базы используют обчыно, подходит ли си шарп для таких целей?
Просто поисковик это банально. Вот если его сделать самообучающимся. Поисковик может анализировать поведение пользователя, когда тот просматривает результаты поиска и на основании этого обучатся ранжировать его результаты. Разным гуглам с этим проще — у них свой браузер. В принципе можно обойтись и без своего браузера, правда тут возможностей будет меньше.
Здравствуйте, Qulac, Вы писали:
Q> Поисковик может анализировать поведение пользователя, когда тот просматривает результаты поиска и на основании этого обучатся ранжировать его результаты.
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, Qulac, Вы писали:
Q>> Поисковик может анализировать поведение пользователя, когда тот просматривает результаты поиска и на основании этого обучатся ранжировать его результаты.
_R_>Спасибо, не нужно Как правильно гуглить?
Здравствуйте, ArtK, Вы писали:
AK>Здравствуйте, Shmj, Вы писали:
S>>Здравствуйте, ArtK, Вы писали:
AK>Никто не спорит, пускай пробует. Но вероятность получить что-то стоящее не имея опыт в подобных вещах стремится к нулю (однако не ноль). AK>Задача не только сложна технически, но и просто трудоемка. Сходу можно найти работы для человек 50-ти (если постараться, то и для 100)
ого, интересно было бы услышать что можно найти сходу работы человек для 50.
Расскажите
Здравствуйте, Arsen.Shnurkov, Вы писали:
B>> В качестве развития захотел замутить свой поисковик. B>> легковесный и только на русском языке и например только по какой-то узкой теме, например футбол в России.
AS>Никаких проблем. Берешь NLucene — http://lucenenet.apache.org/, AS>смотришь на поисковик Beagle — https://github.com/GNOME/beagle (там даже был реализован web-интерфейс для поиска), AS>компилируешь, разворачиваешь...
windows, c#. как сделать а) не на c# б) на линуксе? куда копать?