Pull to refresh

Comments 44

проще не напрягаться :)
вы удивитесь, но уже можно найти даже эту статью спустя пол часа :)
http://www.google.com.ua/search?q=site%3Ahabrahabr.ru%2Fblog%2Fhabrahabr_ideas%2F+%D1%83%D0%BB%D1%83%D1%87%D1%88%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
UFO just landed and posted this here
Прикольно было бы, если бы парсер Вашу ссылку обработал и сократил бы ее внешне... :-)
Я так понимаю, что скорость индексации обеспечивается RSS с пингом или типа?
нет, просто уровень доверия к сайту очень высок. все сайты с высоким уровнем доверия индексятся буквально без остановок.
спасибо :) включил этот поиск в панель поиска своего файрфокса
родной поиск хабра действительно никуда не годится как ни парадоксально для сайта, в основном посвященного IT
Не думаю, что это парадоксально, потому что сделать дельный поиск не такая тривиальная задача. А вот почему хабраредакция сразу не воспользовалась трудами сторонних разработчиков - не понятно. Но наверное, причины были.
Существует компромиссный вариант, предполагающий две альтернативные возможности поиска по сайту:
  • с использованием собственного движка Хабра
  • с использованием движка Гугл
Разработчикам Хабра нужно будет всего лишь проинтегрировать Google AJAX Search API на страницу поиска, плюс доработать саму страницу поиска, сделав переключатель "хабрапоиск-гуглопоиск".
Кстати да, плюс такого поиска ещё и в том, что он будет показывать контекстную рекламу. Пользователям это мешать не будет, а хабраредакции может принести дополнительный доход.
В настоящий момент Гугл не выводит рекламу в случае поиска по блогам.
Вопрос в том, как этот механизм реализован: считается ли Хабр блог-сайтом с точки зрения Гугла?
Тут можно только средствами гугля, администрация редко отзывается:(
Все просто:
Google.com -> site:habrahabr.ru something
Поправьте меня, пожалуйста, если я неправ, но по логике при таком поиске результаты упорядочиваются лишь по мере убывания релевантности.
Для блогов же актуально упорядочивание результатов как по мере убывания релевантности, так и по мере убывания даты публикации. То есть интеграция поиска от Гугла на Хабре всё-таки нужна.
Хорошо, можно по-другому:
blogsearch.google.com -> site:habrahabr.ru something =)
Ух ты, классно! Не знал:-)
Если движок пользует постгрес, то поиск делается в течении нескольких минут.
Гугл - это круто, но иногда требуется доступ к метаданным.
С морфологией? ^_^

Если бы все было так просто, то нафиг тогда люцена и прочие монструозные штуки?
Именно, с морфологией и стеммингом. Я как раз есть один из авторов этого поиска :) Делается в несколько SQL комманд
То есть в постгресс встроили такой навороченный поиск? Может ссылку кинете или хабратопик сделаете, думаю, народу понтавится...
а если с помошью mysql(|postgresql), то можно попробовать http://www.sphinxsearch.com/ который я уже давно рекламирую. К сожалению, это не совсем поиск по БД, это скорее внешнее хранилище, с возможностью линковки с mysql.
мы задумывали поиск *полностью* интегрированный с БД. Представь, что хабр захочет показывать результаты поиска в зависимости от авторизационной информации. Например, есть статьи, которые не всем можно показать. Потом транзакционность (целостность) немаловажная штука.
во первых, извиняюсь за то что незаметил уже идущую цепочку касательно sphinx.
во вторых - вполне можно хранить в sphinx копию текста из БД, и использовать sphinx только для поиска и сортировки по релевантности, для всего-же иного, искать по самой СУБД.
Зачем все это городить ? Никакой целостности вы не получите или придется еще чего придумывать. У вас появилась новая статья в БД, а с сфинксе ее нет, или наоборот, сфинкс нашел, а статью закрыли. Я ничего не имею против сфинкса, просто для хабра это лишний tier
Насчет сфинкса знающие люди говорили, что у него с обновлением индексов туговато - ищет замечательно, но вот обновление большого индекса может занимать неприемлимое время.

Касательно транзакций - не знаю, дружит ли с ними сфинкс. Я в своих проектах использую Xapian - там есть ACID + возможность делать отдельно prepare и commit, что с транзакциями postgresql вяжется отлично. А еще очень порадовали встроенные средства кластеризации.

Все же, что ни говорите, БД общего назначения для полнотестового поиска, тем более с учетом морфологии и для больших объемов данных - не подходит.

ИМХО, каждому инструменту - своё применение.
Насчет сфинкса знающие люди говорили, что у него с обновлением индексов туговато - ищет замечательно, но вот обновление большого индекса может занимать неприемлимое время.

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

и еще. sphinx - не сommon use rdbms, это специализированое средство.

кстати, если вы работаете с postgresql, вы не рассматривали tsearch2 как средство полнотекстового поиска?
В новой версии 8.3 (скоро выйдет) поиск уже просто встроен в ядро и сходу поддерживаются почти все европейские языки. Русский, понятно, тоже. В качестве морфологии используются openoffice-кие словари, которых полно, ну и можно писать свои словари.
> и еще. sphinx - не сommon use rdbms, это
> специализированое средство.
Это я по поводу всяческих наслоений поверх rdbms говорил. Любят люди велосипед переизобретать :)

> В новой версии 8.3 (скоро выйдет) поиск уже
> просто встроен в ядро
Спасибо, ознакомился, похоже я от жизни отстал.
Ну с морфологией понятна, а релевантность как определяется?
используются веса лексем, рассстояние между лексемами.
Круто :) Жаль хостинг даёт только MySQL, но при случае посмотрю непременно :)
Хабра кстати на MySQL работает, судя по вакансиям Futurico
гораздо удобнее пользоваться поиском на том же сайте на котором ты хочешь что то найти.
думаю что вариант с гуглом не очень удобный. лучше добавить больше функционала к уже существующему поиску на хабре
Кому как. Мне лично удобнее с любого места страницы, не ища форму поиска, набрать в адресе "g search criteria" (быстрый переход к гуглу в опере). Очень быстро получается, без отрыва от клавиатуры.
так как речь идет именно о хабре. то форма поиска всегда в левом верхнем углу.
и можно также добавить в оперу хоткей на поиск по хабру.
но вы правы, каждому удобнее по своему
Под словом "искать" я имел в виду скролить наверх до формы. Кстати, она там все-таки справа =)
не столь важно где он конкретно находится. я имел ввиду что он всегда на одном и том же месте.
нет никаких проблем добавить строку гугловского поиска "на тот же сайт", так что внешне он от хабровского отличаться мало будет, но будет работать :)
Смею посоветовать разработчикам Sphinx при таких то нагрузках
Да, сфинкс действительно достаточно мощный и гибкий поисковый движок!
да, мне тоже пришла такая же идея
Sphinx и стемминг поддерживает, и с нагрузкой справится
Он уже в тестировании. Пока есть пара вопросов, которые не решили, но обязательно решим. Возможно, новая версия хабра будет именно с этим поиском. А, возможно, что и не с этим :) Вопрос всё ещё открытый.
Да, искать зачастую приходится гуглом. Что опять же не очень удобно, т.к. хабропоиск сортирует результаты (топики, комментарии и тд) - хотелось бы всего сразу=)
Sign up to leave a comment.

Articles