🗊 Презентация Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных

Категория: Технологии
Нажмите для полного просмотра!
Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №1 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №2 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №3 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №4 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №5 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №6 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №7 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №8 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №9 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №10 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №11 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №12 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №13 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №14 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №15 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №16 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №17 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №18 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №19 Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №20

Вы можете ознакомиться и скачать презентацию на тему Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных. Доклад-сообщение содержит 20 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных
Описание слайда:
Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных

Слайд 2


Одноклассники в цифрах Что у нас есть: 100 млн пользователей; 3.3 млн групп; ..... 4.1 млн пользователей онлайн; В секунду: 250. тыс. страниц, 50мс,...
Описание слайда:
Одноклассники в цифрах Что у нас есть: 100 млн пользователей; 3.3 млн групп; ..... 4.1 млн пользователей онлайн; В секунду: 250. тыс. страниц, 50мс, 70Гбит/с; 6 тыс. сообщений и комментариев; 1.5 тыс. поисковых запросов.

Слайд 3


Зачем нам понадобились свои поисковые системы? Пользователь не всегда знает, как именно регистрировался искомый друг На сайте были огромные каталоги...
Описание слайда:
Зачем нам понадобились свои поисковые системы? Пользователь не всегда знает, как именно регистрировался искомый друг На сайте были огромные каталоги групп и сообществ Планировались новые сервисы, которым понадобится поиск Как правило, человек ищет то, что уже есть у кого-то из его друзей

Слайд 4


Почему Lucene? Поиск по MS SQL базе был крайне медленным На Java написано 99% нашего кода, поэтому Sphinx даже не смотрели Apachе Lucene/Solr...
Описание слайда:
Почему Lucene? Поиск по MS SQL базе был крайне медленным На Java написано 99% нашего кода, поэтому Sphinx даже не смотрели Apachе Lucene/Solr поддерживаются большим сообществом и хорошо себя зарекомендовали Уже был опыт использования Solr Быстрый поиск других поисковых Java-проектов результатов не дал

Слайд 5


Как устроен Lucene?
Описание слайда:
Как устроен Lucene?

Слайд 6


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

Слайд 7


Что нас не устроило в Solr Solr: сервер использует только один процессор репликация индексов на bash-скриптах http - это дорого и медленно сложно...
Описание слайда:
Что нас не устроило в Solr Solr: сервер использует только один процессор репликация индексов на bash-скриптах http - это дорого и медленно сложно модифицировать Но Lucene нас устраивает, поэтому пишем свой сервер

Слайд 8


Архитектура
Описание слайда:
Архитектура

Слайд 9


Требования к поисковой системе Отказоустойчивость Использование социального графа Эффективность Простое изменение и расширение функциональности Сбор...
Описание слайда:
Требования к поисковой системе Отказоустойчивость Использование социального графа Эффективность Простое изменение и расширение функциональности Сбор статистики по пользователям Высокая пропускная способность

Слайд 10


Как работает поисковая система
Описание слайда:
Как работает поисковая система

Слайд 11


Проблемы: работа с индексом Lucene активно читает файлы во время поиска Пробовали: Диск с FSDirectory и NIODirectory RamDrive с FSDirectory и...
Описание слайда:
Проблемы: работа с индексом Lucene активно читает файлы во время поиска Пробовали: Диск с FSDirectory и NIODirectory RamDrive с FSDirectory и NIODirectory Lucene RamDirectory Собственный UnsafeDirectory Победил: HeapDirectоry файлы как byte[] в хипе

Слайд 12


Проблемы: ThreadLocal кэши Долгий GC из-за уймы мелких объектов в хипе Причины: Lucene использует ThreadLocal кэши для некоторых объектов Jboss...
Описание слайда:
Проблемы: ThreadLocal кэши Долгий GC из-за уймы мелких объектов в хипе Причины: Lucene использует ThreadLocal кэши для некоторых объектов Jboss Remoting на каждое соединение содает поток, а их тысячи Первое решение: Пул для выполнения запросов Второе решение: Делая другую оптимизацию, убрали эти кэши

Слайд 13


Проблемы: медленные хранимые поля Медленная работа с хранимыми полями Причина: При считывании хранимого поля создается много мусора и производятся...
Описание слайда:
Проблемы: медленные хранимые поля Медленная работа с хранимыми полями Причина: При считывании хранимого поля создается много мусора и производятся ненужные операции Решение: Считывать значение в нужный тип сразу из byte[] Результат: На порядок быстрее стали операции с хранимыми полями Время GC упало в 2 раза

Слайд 14


Распознавание полей Поиск пользователей идет по следующим полям: имя и фамилия, город, страна, интервал возростов Друга можно искать, вводя известные...
Описание слайда:
Распознавание полей Поиск пользователей идет по следующим полям: имя и фамилия, город, страна, интервал возростов Друга можно искать, вводя известные данные: «илья широков 30» «илья широков москва» «илья широков 25-30 россия»

Слайд 15


Поиск по возрасту Стандартные решения: Добавление всех подходящих терминов Префиксные термины для снижения количества терминов в запросе Запрос к...
Описание слайда:
Поиск по возрасту Стандартные решения: Добавление всех подходящих терминов Префиксные термины для снижения количества терминов в запросе Запрос к FieldCache Фильтр результатов Наше решение: Возраст хранится ввиде даты: yyyymmdd Запрос по текстовым полям оборачивается в фильтрующий запрос, который проверяет отбраные документы по хранимому полю

Слайд 16


Поиск музыки В базе есть: артисты; альбомы; композиции не сортированые музыкальные композиции Три точности совпадения: точное; все слова из запроса;...
Описание слайда:
Поиск музыки В базе есть: артисты; альбомы; композиции не сортированые музыкальные композиции Три точности совпадения: точное; все слова из запроса; некоторые слова из запроса Поиск всегда идет по всем видам документов От точности совпадения зависит поведение UI На место в выдаче влияет рейтинг документа С индекса собираются всевозможные топы

Слайд 17


Индексация музыки Все храним в одном индексе У каждого документа: в id зашит его тип (артист; альбом; композиция; файл) тип как отдельное поле...
Описание слайда:
Индексация музыки Все храним в одном индексе У каждого документа: в id зашит его тип (артист; альбом; композиция; файл) тип как отдельное поле рейтинг как параметр индексации рейтинг как хранимое поле Текстовые поля: по отдельности необходимые комбинации 2 представления текста: оригинал + фонетика

Слайд 18


Поиск музыки Пробовали: Отдельный запросы для каждого типа Повторные запросы с меньшей точностью Настройка оценщика веса для результата Решение:...
Описание слайда:
Поиск музыки Пробовали: Отдельный запросы для каждого типа Повторные запросы с меньшей точностью Настройка оценщика веса для результата Решение: Запрос состоит из комбинаций: точность + поле данных Для каждой комбинации есть интервал значений весов Вес из подзапроса нормализуется в интервал комбинации Если документ отвечает запросу, сразу вычисляем его тип и добавляем в соответствующий коллектор

Слайд 19


Поисковые сервера
Описание слайда:
Поисковые сервера

Слайд 20


Как, используя Lucene, построить высоконагруженную систему поиска разнородных данных, слайд №20
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию