LinkedIn открыла технологию поиска IndexTank

Сеть профессиональных контактов LinkedIn анонсировала открытие кода поисковых технологий, который она получила после покупки поискового сервиса IndexTank, который занимается организацией поиска на сайтах. После открытия поисковых технологий стало возможным создание аналогичных сервисов на определенных мощностях. Под лицензией компании Apache был открыт код поисковой системы indextank-engine (IndexEngine), которая выполняет индексацию информационных данных, и indextank-service, в котором хранятся компоненты для организации работы поискового сервиса. Из сайтов, пользующихся поисковыми технологиями IndexTank, можно выделить Reddit.

Основные составляющие IndexTank:

  1. IndexEngine - написанная на Java система индексации и поиска полнотекстовых данных, которая работает в режиме реального времени и выполняет разделение данных, о релевантности содержимого проиндексированных документов (релевантность в социальных сетях во многом зависит от поведения пользователей, которое проявляется в виде рейтинга, различных голосований и обмена ссылками, "like", "+1" и т.п.). Отмечаются дополнительные возможности, поддерживаемые движком средства для вывода индексируемых материалов в топ (к примеру, для показа рекламы), разделение содержимого на категории и дополнительный поиск по категориям, введение собственных функций, показ контекстных подсказок, сортировка, поиск с учетом месторасположения пользователя, голосования, комментарии, рейтинг, автозавершение вводимых запросов и предложения похожих запросов.
  2. REST JSON API для работы внешних приложений (сайтов) с движком. Реализация API написана на Python с помощью Django. API дает возможность работать при помощи многопользовательского сервиса, в котором каждый пользователь может использовать свой комплект поисковых индексов. Доступна функция авторизации пользователей и работы с IndexEngine, к примеру, управления индексами, индексации данных, выполнение поиска в индексах. Клиентские сетевые библиотеки для поддержки REST JSON API доступны для языков Python, Java, Ruby, PHP, и .NET, осуществление поддержки для остальных языков не имеют никакой сложности, так как есть возможность отправлять запросы через простой протокол, который функционирует поверх HTTP;
  3. Nebulizer - фреймворк обеспечивает работы на сервере и управление многопользовательским поисковым движком, обеспечивающим работу с не имеющим ограничений числом индексов, развёрнутых поверх систем-SaaS. Данный фреймворк дает возможность создавать и обслуживать виртуальное окружение по мере необходимости и перемещает индексы при увеличении затрат ресурсов, заботясь об обеспечении наибольшей результативности обработки индексов;
  4. Backoffice - приложение на основе фреймворка Django с использованием административного интерфейса;
  5. Storefront - приложение на основе фреймворка Django c использованием интерфейса, позволяющие регистрировать новых пользователей и создавать новые аккаунты.