Рубрика «индексация» - 2

Джули Рубикон. Признание бывшего сотрудника Facebook - 1

Примечание от Робина Слоана, который опубликовал запись в своём блоге 15 марта 2016 года: «Этот рассказ появился в моём защищённом ящике в конце прошлого месяца, вместе с просьбой опубликовать его на Facebook сегодня именно в таком формате. Я не могу поручиться за подлинность истории, но она показалась мне достаточно странной и интересной».

#

Записывать всё это — последнее, что мне хочется делать, но это необходимо. Частично ради людей, которые обязаны знать, что происходит с их публикациями на Facebook, но главным образом (99%) ради Джули Рубикон и того пика на графике.

Мои бывшие коллеги из Facebook Inc. в Менло-Парк, Калифорния — привет, Джейн, привет, Нил, привет… Марк? — немедленно поймут, кто это написал, и компания вероятно будет преследовать меня, но я думаю, они провернут всё тихо. Комиссия по ценным бумагам не ограничится тихим расследованием, если действительно нарушены соответствующие правила и нормы, но честно… вряд ли такие правила существуют.
Читать полностью »

Привет! Так уже получилось, что современный web-контент буквально стоит на трёх китах: HTML5, CSS3 и Javascript. Тесная интеграция этих трёх инструментов позволяет создавать поистине впечатляющие результаты, но сегодня речь не о достижениях современной веб-инсдустрии, а о том, как эти достижения правильно донести до пользователей.

За отображение вашего сайта у пользователей, само собой, отвечают браузеры. Но как видит сайт поисковая система? Что она увидит, если часть контента (картинки, таблицы стиля, скрипты) будуе закрыта от сканирования? Что увидят пользователи в результатах поиска, если Google не сможет проиндексировать весь необходимый контент? Специально для ответа на эти вопросы (а также для исправления некоторых недоразумений, мешающих вам находить своих пользователей в Google) мы создали инструмент «Отчёт о заблокированных ресурсах».

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

Вот так выглядит отчёт о проверке:
Заблокированные ресуры в Инструментах для веб-мастеров
Читать полностью »

Обработка текста в поисковом движке выглядит достаточно простой снаружи, однако на самом деле это сложный процесс. При индексации текст документов должен быть обработан стриппером HTML, токенайзером, фильтром стопслов, фильтром словоформ и морфологическим процессором. А ещё при этом нужно помнить про исключения (exceptions), слитные (blended) символы, N-граммы и границы предложений. При поиске всё становится ещё сложнее, поскольку помимо всего вышеупомянутого нужно вдобавок обрабатывать синтаксис запроса, который добавляет всевозможные спец. символы (операторы и маски). Сейчас мы расскажем, как всё это работает в Sphinx.

Картина в целом

Упрощённо конвейер обработки текста (в движке версий 2.х) выглядит примерно так:

Конвейер обработки текста в Sphinx - 1

Выглядит достаточно просто, однако дьявол кроется в деталях. Есть несколько очень разных фильтров (которые применяются в особом порядке); токенайзер занимается ещё чем-то помимо разбиения текста на слова; и наконец под «и т.д.» в блоке морфологии на самом деле находится ещё по меньшей мере три разных варианта.

Поэтому более точной будет следующая картина:

Конвейер обработки текста в Sphinx - 2

Читать полностью »

Конец года — время подводить итоги. И если вы получаете зарплату не в валюте, то, скорее всего, итоги будут неутешительными. Доллар и евро выросли почти в два раза. Продукты в сетевой рознице в уходящем году подорожали в среднем на 20–25%, и в начале 2015 года подорожают еще на 14,5–15%. В 2015 году будут максимально увеличены коммунальные платежи и подорожает проезд (Санкт-Петербург) и не будут индексировать зарплаты.

Читать полностью »

Когда вы выполняете какой-нибудь запрос, оптимизатор запросов MySQL пытается придумать оптимальный план выполнения этого запроса. Вы можете посмотреть этот самый план используя запрос с ключевым словом EXPLAIN. EXPLAIN – это один из самых мощных инструментов, предоставленных в ваше распоряжение для понимания MySQL-запросов и их оптимизации, но печальным фактом является то, что многие разработчики редко его используют. В данной статье вы узнаете о том, какие данные предлагает EXPLAIN на выходе и ознакомитесь с примером того, как использовать его для оптимизации запросов.
Читать полностью »

В последнем обновлении SQLite планировщик запросов претерпел серьезные изменения и отныне зовется Планировщик Запросов Следующего Поколения. Мы решили сделать небольшой обзор нового планировщика и некоторых других значительных обновлений SQLite в текущем году. Новый функционал может оказаться полезным разработчикам.

Читать полностью »

Недавно столкнулся с проблемой, когда мне понадобилась оперативная поддержка хотя бы информационная.

Я нашел в результатах индексации Google ресурс на котором увидел конфиденциальную информацию о себе и своих близких, на ресурсе который непонятно откуда накопал кучу информации которую я лично о себе заполнял разве что в банке при оформлении пластиковой карты и то на бумаге, еще много лет назад. Понятно что Google не имеет отношения к той информации которую индексирует, но разве не на благо пользователей работает вся эта машина?

Видимо нет.

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

Дело в том, что я нахожусь в Украине, прямого номера по поддержке продуктов Google здесь нет, есть возможность только обратиться в саппорт. Или звонить в близлежащие или не очень страны. В последствии я все таки позвонил в Российское представительство, но об этом позже.

Читать полностью »

Перевод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.

Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.

Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.

Запрос

db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})

Индекс

{"country": 1, "carsOwned": 1}

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

Это продолжение серии из двух постов, в которых я рассказываю о построении VDI-решения для крупной российской софтверной компании.

Немного математики

Опираясь на описанную в предыдущем посте теорию, проведем расчеты:

Одновременно от 6 до 9 пользователей VDI могут использовать одно физическое ядро CPU. Для упрощения возьмем среднюю цифру — 7 пользователей.

Согласно требованиям заказчика необходимо обеспечить работу 700 пользователей по VDI с расширением до 1000.
Читать полностью »

Представляю вам серию из двух постов, где я постараюсь рассказать о разработке довольно типового решения VDI для предприятия среднего размера. В первой части – подготовка к внедрению, планирование; во второй – реальные практически примеры.

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

Например, у одного из заказчиков, крупной отечественной софтверной компании, имеется довольно большой парк серверов и систем хранения. В том числе — несколько серверов HP ProLiant 6-го и 7-го поколения и система хранения HP EVA, которые были в резерве. Именно на их базе нужно было разработать решение.
Озвученными требованиями к решению VDI были:

  • Floating Desktops Pool (с сохранением изменений после окончания сессии);
  • Начальная конфигурация — 700 пользователей, с расширением до 1000.

Мне предстояло просчитать какое количество серверов и систем хранения в итоге перейдут из резерва в состав решения.
В качестве среды виртуализации выбрана VMware. Схема работы получилась примерно такая:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js