Pull to refresh

Comments 22

UFO just landed and posted this here
А в чем проблема прикрутит кеш к Сфинксу?
Кешировать можно главный индекс, а дополнительный нет, ну или дополнительный на низкое время.

Кешировать можно не все запросы, а самые ходовые.

Где-то есть сравнение по пунктам в табличке между поисковиками?

Кеш можно прикрутить самому в приложении (если будут повторяющиеся запросы).
Поэтому можно так сказать:
Сфинкс для тех, кто может сам настроить кеш, кто не швыряется деньгами на RAM.
Люцен для тех, кто не хочет заморачиваться.

Пока использую FULLTEXT индекс в maria/innodb по заголовку по таблице в 4-5к элементов в бинарном режиме. Хватает.
В mysql кеш не использую, что нужно, кешируется приложением.
Поиск происходит за 1-3 мс (там еще другие условия и джойны, но использование FULLTEXT вместо LIKE '%term%' ускорило запросы в разы)

П.С.
Когда уже новая мажорная версия выйдет? Читал, планируется много улучшений.
оффтопик
Подскажите, пожалуйста, такую вещь. У меня 12 миллионов документов около 150 гб. это интернет страницы в html. Мне требуется поиск: 1. именно по коду; 2. не обращая внимания на языки и кодировки. То есть требуется искать все японские комментарии в блоке head. Сейчас я использую поиск по триграммам, но он меня не устраивает по скорости.
Правильно ли я понимаю, что Sphinx можно настроить под данную задачу?
UFO just landed and posted this here
Можно попросить пояснений?

У меня парсер ходит по веб сайтам и сливает главную страницу (а также robots.txt, но пока он не нужен). Соотвественно на моем компьютере в БД postgresql в поле text имеется не более 2 десятков миллионов html страниц. Вопреки всему я их перевожу в utf-8, но проблем с недопустимой кодировкой символов при получении данных с базы я получаю то и дело. Также языки, мне они совершенно неизвестны у страницы, там может быть русский, английский, японский или арабский.
Что я хочу. Я хочу организовать поиск по этим данным. То есть именно по коду html, а не по словам конкретного языка. То есть, например, чтобы я мог искать сайты у которых имеются теги _h1>, _h3>, _h4> и нет тега _h2> (теги не дает писать) (я сеошник). В принципе я уже написал поиск на триграммах и он работает, только медленно.
Вопрос, Sphinx можно настроить под данную задачу?
Если html, то прямой путь к xml. DOM и XPath. Я лично так делаю, тоже для село нужно. Получить h1: //h1
UFO just landed and posted this here
Так я о разборе на стадии парсинга. Т.е. скачали страницу, через XPath дернули содержимое нужных тегов (для SEO целей обычно содержимое таких тегов просто текст по сути, максимум там b, i, span и прочее которые очень просто выкидываются). Это содержимое записали в базу в соответствующие поля. А уже по ним делаем индекс.

n-граммы конечно штука прикольная, но в приложении это отрабатывать очень медленно (по крайне мере в PHP), поэтому при наличие сфинкса нет смысла ими реализовывать поиск. А в сам сфинкс нужно просто скидывать уже подготовленные для обработки данные.
UFO just landed and posted this here
Ну и хорошо тогда…
ps
Только другим сеошникам моя база особо не нужна.
Лучше сразу туда заложить сохранение http заголовков. Например, можно по Content-Type понять в какой кодировке документ в случае если в него не задан meta. Попадаются конечно ряд деятелей которые могут в Content-Type прислать одно, в meta другое, а по факту странице в другой кодировке, но таких достаточно мало, по крайне мере в рунете для сайтов которые есть в поисковой выдаче.
Заголовки есть.
ps
Но конвертировать японские и арабские сайты на utf8, чтобы в базе их сохранить, а также потом обрабатывать такие записи — это что-то с чем-то!

Как парочку (или больше уже?) лет назад услышал о третьей версии «Сфинкса», так до сих пор на каждой конференции слышу как «мы его только начали его разрабатывать». Как так-то?

Ну вот пока так, Андрей будет рассказывать, насколько я понимаю, пока ещё в процессе:
http://www.highload.ru/2016/abstracts/2359.html
Говорят, что Майкрософт использует FPGA платы в поисковых серверах Bing (http://www.nextplatform.com/2015/08/27/microsoft-extends-fpga-reach-from-bing-to-deep-learning/). Считаете ли Вы, что FPGA действительно могут помочь в поиске и думаете ли их использовать?
Тем более, что Intel купила Altera и видимо скоро в новых серверах FPGA вероятно будут по умолчанию.
Я сам занимаюсь системами FPGA, но не представляю себе постановку задачи поиска…
Я не знаю, для чего Bing использует FPGA, но вообще FPGA дают обработку текста за линейное время от длины текста — в задачах поиска подстрок или прогон через регулярные выражения. Я копался в этой теме в контексте фильтрации трафика. Если интересно — дальше искать по словам DFA (детерминированный конечный автомат), https://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_algorithm, IDS (intrusion detection systems) / IPS (intrusion prevention systems).
Читаю, а в голове бъётся только один вопрос: «как восстановить поиск по соцсетям?» В последнее время ВСЕ поисковики в рамках «права на забвение» перестали выдавать в результатах поиска ссылки на старые посты — тот же Яндекс ограничил глубину поиска издевательским 1 месяцем.
В результате — идиотизм, помню что лежало и на каком сайте, а найти не могу :(…
как восстановить поиск по соцсетям?

А можно подробнее, что не так с поиском по социальным сетям?
С удовольствием!
Раньше было легко находить информацию в блогах и соцсетях сайтами-поисковиками даже спустя многие годы после добавления этих текстов — вводишь ключевые слова, ограничиваешь область поиска конкретным сайтом, например, Живым Журналом, выставляешь параметры поиска (по дате/релевантности) и вуаля, не на первой, так на второй-четвёртой странице что сам писал или читал у умного человека.
Теперь же все поисковики наотрез отказываются искать по старым блогам и ладно бы про Железняков, Чаек, Бастрыкиных, так и невинные знания стали в одночасье недоступны! какое-то время спасал Дакдакго, но ныне и он скурвился :(
Вот я и хочу найти какой-нибудь плагин к браузеру, который бы локально индексировал тексты попавшие в мой браузер и не зависел от госкапризов и бабла денежных мешков. А то уже и отдельный бизнес появился — за деньги убирать негатив о разных нехороших делишках из раздач поисковиков.
Вариант похуже — может, кто из хаброжителей подскажет иностранный поисковик, которому наплевать на местные законы?
А можно кому-нибудь задать вопросы по сфинксу за деньги? У нас весьма специфические проблемы )

shodan, к сожалению, в личке на хабре не ответил.
Ну наконец-то хоть кто-то нормально объясняет )
Sign up to leave a comment.