Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.full.php on line 308 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/classes/templates.class.php on line 64 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/classes/templates.class.php on line 60 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/classes/templates.class.php on line 64 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/classes/templates.class.php on line 77 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/index.php on line 111 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/modules/show.custom.php on line 98 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vdsadmin/www/seonews.com.ua/engine/classes/templates.class.php on line 268 Форум технологий Mail.Ru Group: Полнотекстовый поиск в почте » SEO, поисковая оптимизация, продвижение сайтов, оптимизация сайтов
SeoNews.com.ua - SEO & Search Engine News
Поисковая оптимизация
Популяризация токенов способна значительно повысить уровень безопасности в сфере электронной коммерции
Эксперты предлагают заменить передаваемые на торговые серверы финансовые данные электронными идентификаторами, не имеющими ценности для злоумышленников.

Как сообщает издание Network World со ссылкой на доклад одного из крупнейших производителей токенов безопасности, широкомасштабное внедрение такой меры, как дополнительные этапы идентификации, способно в значительной степени сократить количество успешных хакерских атак в сфере электронной коммерции.


Персональные данные граждан РФ будут храниться на российских серверах
Депутаты предлагают изменить дату вступления в силу закона «О персональных данных», согласно которому соцсети и сервисы электронной почты будут обязаны хранить личную информацию пользователей на российских серверах.

Как сообщает издание "Известия", депутаты Госдумы РФ выступили с предложением внести некоторые коррективы в закон «О персональных данных», согласно которому социальные сети и сервисы электронной почты будут обязаны сохранять информацию о конфиденциальных данных граждан РФ на серверах, которые располагаются на территории России. Указ был подписан В. Путиным в июле текущего года, и вступает в действие 1 сентября 2016 года. Тем не менее, госчиновники предлагают ускорить процесс и узаконить перенос личной информации пользователей уже с 1 января следующего года.

Пользователям Wi-Fi в московском метро скоро придется регистрироваться
По просьбе руководства столичного метрополитена компания «Максима Телеком» разработала программное обеспечение, посредством которого будет происходить аутентификация пользователей.

В скором времени все желающие воспользоваться услугами Wi-Fi в Московской подземке смогут сделать это только по регистрации. По просьбе администрации метро компания «Максима Телеком» разработала ПО для аутентификации пассажиров. Новая система будет распознавать посетителей подземки по IMEI-номерам их девайсов, пишут «Известия».

Зарубежным компаниям могут ограничить доступ к российским гостайнам
По предварительным данным, лишиться соответствующей лицензии могут четыре крупнейших аудитора - Deloitte, EY, KPMG и PwC.

Как сообщает издание «Ведомости» со ссылкой на собственных информаторов в двух компаниях из четверки крупнейших зарубежных аудиторов в РФ, отечественные силовые структуры усилили давление на компании и в перспективе могут лишить их возможности работать с данными, представляющими собой государственную тайну.
Началась последняя неделя льготной регистрации на конференцию CEE-SECR «Разработка ПО»
На конференции рассмотрят все аспекты разработки программного обеспечения.

Стартовала последняя неделя льготных летних цен на конференцию CEE-SECR «Разработка ПО» — одно из важнейших событий ИТ-индустрии в России.

До 31 августа регистрационный взнос будет ниже финальной цены на более чем 37%. Кроме того, продолжают действовать специальные предложения для студентов, аспирантов и групп от трех человек. Все скидки суммируются


Seo News
Facebook готовит исправление уязвимости, заставляющей iPhone совершать звонки
Разработчики социальной сети намерены устранить брешь в ближайшем обновлении мобильного приложения для iOS.

Как сообщают представители социальной сети

Facebook, разработчики компании намерены в ближайшее время выпустить обновление безопасности для своего мобильного приложения для iOS-устройств. Речь идет об опасной уязвимости, эксплуатация которой позволяет злоумышленникам удаленно совершать звонки со смартфонов iPhone, принадлежащих жертвам атаки. Для этого достаточно вынудить пользователя перейти по специально сформированной вредоносной ссылке.
95% электронных уведомлений от Facebook успешно шифруются

В Facebook отметили рост количества провайдеров, развертывающих шифрование с помощью STARTTLS.

95% посылаемых Facebook по электронной почте уведомлений, являются зашифрованными. Электронные письма шифруются с помощью свойства протоколов под названием «Совершенная прямая секретность» (Perfect Forward Secrecy, PFS) и строгой проверки подлинности сертификата. Об этом сообщил инженер Facebook Майкл Эдкинс (Michael Adkins), занимающийся вопросами неприкосновенности сообщений пользователей.

Microsoft представит Windows 9 в конце сентября

В ранней версии Windows 9 будет добавлено переработанное меню "Пуск" и, возможно, голосовой помощник Cortana.

В компании Microsoft планируют представить следующую версию ОС Windows во время специального события для прессы, которое состоится в конце сентября. Как сообщает издание The Verge, ссылаясь на собственные источники, в настоящее время представители корпорации собираются рассказать об изменениях в новой версии Windows, получившей кодовое наименование «Threshold» («Предел»), 30 сентября этого года. Напомним, что следующая версия Windows в настоящее время находится в разработке, и в Microsoft планируют выпустить предварительную версию ОС для разработчиков (Developer Preview) 30 сентября или позже.

Google AdWords забанит пейнтбольное и прочее оружие
Менее чем через месяц Google запретит рекламу оружия для страйкбола и пейнтбола, пневматических пистолетов, боеприпасов, обойм и портупей. Жалобы на такую рекламу ранее поступали в Google AdWords Help.

Google опубликовал предварительную версию изменения политики, которая в настоящее время позволяет рекламировать такие товары на AdWords.

Вот образец письма, отправленного рекламодателям AdWords:

«Уважаемый рекламодатель AdWords,

Мы извещаем вас об изменении правил размещения рекламы Google, которые могут повлиять на ваш аккаунт AdWords.


Уязвимость в Windows продолжает создавать опасность для пользователей
Наиболее часто уязвимость CVE-2010-2568 эксплуатировали на ОС Windows XP.

Согласно документу, опубликованному Лабораторией Касперского, злоумышленники продолжают эксплуатировать уязвимость CVE-2010-2568 , несмотря на “возраст” бреши. Недавно Лаборатория Касперского обнаружила десятки миллионов эксплоитов, направленных на устранение ошибки в период с ноября 2013 по июнь 2014 года, которые не устранили ее. Жертвами кибератаки стали 19 миллионов пользователей по всему миру.

Search Engine News
Подпишись на рассылку и будь всегда в курсе наших новостей.

Форум технологий Mail.Ru Group: Полнотекстовый поиск в почте

Форум технологий Mail.Ru Group: Полнотекстовый поиск в почте
9 апреля в Международном информационно-выставочном центре «ИнфоПространство» прошел пятый Форум технологий Mail.Ru Group. Ведущим Форума выступил вице-президент и технический директор Mail.Ru Group Владимир Габриелян.

Полнотекстовый поиск в почте представил на Форуме программист Mail.Ru Group Дмитрий Калугин-Балашов.

Требования, предъявляемые к поиску по почте, отличаются от тех, которые обычно предъявляют к «большим» поисковым системам. Это становится причиной применения совершенно других, нестандартных технологических решений.
Для начала ― о целях, которые преследовались при создании поиска. До этого для поиска по письмам работал движок, переделанный из большого поиска Mail.Ru. Но, к сожалению, он не устраивал по нескольким параметрам: занимал слишком много памяти; из-за него часто выходили из строя жесткие диски, потому, что он слишком часто на них писал.



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

Во-вторых, нужно минимизировать размер индекса на жестком диске. Тут все просто: чем меньше там занято места, тем дешевле все обходится, и тем меньше нужно, собственно, жестких дисков.Также нужно минимизировать и количество обращений к жестким дискам, чтобы как можно меньше с них что-то читать.Нужно минимизировать и работу с ЦПУ.

И при всем при этом, поиск должен работать максимально быстро.

Общая схема поиска выглядит примерно так. Есть какое-то хранилище, и есть поисковое хранилище, в котором хранились индексы. При поступлении новых данных или их изменении, данные из хранилища передаются в поисковый демон, чтобы он перестроил индексы.



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

Поиск начинается с токенизации, то есть, с разбиения текстов на отдельные слова. Любой полнотекстовый поиск ищет с точностью до слова. Кроме поиска, еще строятся поисковые подсказки. Этим занимается отдельный демон, который запущен параллельно с поисковым демоном.

Обычно люди ищут с точностью до какого-то знака препинания. Если поиск ведется по электронному адресу ― то, например, от точки, либо до тире, либо до собачки. И решили разбивать слова на токены рекурсивным образом. То есть, вот такие слова попадут в индекс:



Оказалось, что на таких данных поиск работает медленно. Поэтому было решено разбивать данные по-другому: на отдельные слова между ближайшими знаками препинания, а также положили эти слова в индекс целиком. Это показалось разумным компромиссом между качеством словаря и скоростью индексации.

Сам полнотекстовый поиск осуществляется с помощью обратного индекса. Обратный индекс ― это список документов, которые содержат данное слово. Обратный индекс хранится в файлике Snapshot и состоит из двух частей ― из словаря (слова в котором приведены к начальной форме) и списков документов, где содержатся эти слова.



То есть, получается, что для того, чтобы осуществить поиск, нужно всего два чтения с диска: во-первых, чтение словаря, который в 99% случаев занимает не больше 1 Mb. В нем находится нужное слово. Во второй части файла читаем список документов, который также не больше 1 Mb. Даже если весь Snapshot очень большой, то он не грузится в память весь, а грузится всего лишь 2 Mb. Поэтому поиск осуществляется очень быстро, вне зависимости от объема.

Однако обнаружилось, что существуют ящики, в которых словари очень большие. Нашлись даже словари порядка 100 Mb. Таких ящиков меньше 0,1%, но они есть, и, что удивительно, пользователь таких ящиков чаще всего поиском и пользуется.



Поэтому мы ввели еще один словарь ― мета-словарь.



Тут будет показано, сколько у нас слов начинается на данный байт. От 0 до 255, и содержит 256 количеств этих слов. То есть, теперь, чтобы поискать по Snapshot, нам нужно три обращения к диску: сперва мы читаем мета-словарь, потом 1/256 часть словаря, и в третье обращение ― список документов. И признак конца словаря нам уже не нужен потому, что мы знаем его длину за счет мета-словаря.

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



Было решено дописывать данные в другой файл, XLog ― это бинарный лог, там записаны транзакции над поисковым индексом. Каждая транзакция применяется к одному документу. Чтобы искать по XLog, надо загрузить его в память целиком и провести обычный линейный поиск. Из-за этого ограничен размер XLog.

По Snapshot мы ищем бинарным поиском, по XLog ― линейным.



Результаты объединяются. Таким образом, получается список документов, список писем, которые содержат данные слова. Но одного списка писем мало, нужно отобразить целую страницу с результатами поиска. Помимо самих писем, у них есть какие-то текстовые и числовые значения ― дата, размер, имя отправителя, текст, тема, то есть, текстовые и числовые зоны.

Имея итоговый список результатов, нужно подгрузить для них все числовые зоны. Числовые зоны хранятся в файле NZData.



Файл подобен Snapshot, только вместо словаря у него список документов, и список текстовых зон. Их всегда определенное количество, и они нумеруются. Только, в отличие от Snapshot, NZData грузится в память целиком. По размеру он небольшой, максимум, несколько десятков мегабайт.

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

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



И только после этого грузятся текстовые зоны.



Слова из запроса в ответе подсвечиваются.

Подсказки имеет смысл кэшировать. Индекс подсказок строится одновременно со Snapshot. При получении подсказок данные из XLog не учитываются. Слова не приводятся к начальной форме, сохранен даже регистр. Но они разбиваются на префиксы и постфиксы.

Для выборки подсказок сперва загружается список префиксов для поиска нужного. Если запросу подходит несколько префиксов, то подгружаются все списки необходимых постфиксов. Получается список слов, который сортируется по частоте встречаемости. И выдаются первые n результатов.

Кэшировать нужно целиком список префиксов и те списки постфиксов, к которым уже обращались.

Длина средней подсказки ― в шесть символов. Индекс подсказки занимает минимальное место также при шесть символах. Однако и при других значениях разница не слишком велика, порядка 0,2%. Однако скорость поиска больше всего при длине подсказки в два символа.



Итак, получили поисковый движок, который тратит 50 Mb памяти ― для работы сервера на 300 человек. На жестком диске индексы занимают 3,5% от размера ящиков. И поиск происходит в границах от 3 до 30 обращений к диску. Расходуется примерно 3% ЦПУ. Среднее время исполнения запроса на текущий момент ― 70 милисекунд. Поисковый демон написан на С++, библиотека для записи XLog ― на С.