Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемprofyclub_ru
1 Поиск на своем сайте, обзор open source решений Олег Бунин
2 Поиск на своём сайте Искать SQLем по своей базе o Вы наверное не слышали об альтернативах Использовать поиск от / o Отличный вариант для небольших статических сайтов Установить у себя поисковый движок elasticserach сервер
3 Ингредиенты поиска
4 Поисковый документ Анализ документа: токенизаиця, cтеминг, морфология, cтоп слова Термы id: author:pledbook tag:grails tag:elasticserach text:look text:use text:plugin text:grails text:website url:grails.org/plugin/... date:
5 Поисковый индекс Типичная RDBMS Инвертированный индекс Индекс по отдельному полю или композитному полю Одно значение на поле (full text – много значений) Обычно только один из индексов используется в select`е Btree – эффективные апдейты
6 Поисковый индекс Типичный поисковый движок Инвертированный индекс Все поля в одном индексе Произвольное количество значений поля на документ Поиск происходит по всем полям запроса одним махом Интегрированный скоринг Плотный бинарный формат индекса – read only
7 Поисковый запрос vs SQL SQL cложный запросы / joins детерминированный запрос возвращает данные Поисковый запрос плоский select сложные комбинации атрибутов нечёткие запросы скоринг возвращает метаданные
8 Open Source Lucene – библиотека / фреймворк - Java Solr – всё в одном, прицел на enterprise elasticsearch – простота IndexTank – crowdsourcing Sphinx – скорость - C++
9 Что нужно хотеть от поиска? Фейсетная навигация авто-таксономия кластеризация Автокоррекция Подсказки (автодополнение) Пространственный поиск в т.ч. с фейсетами more like this в дополнение к качественным и релевантным результатам
10 Фейсеты Динамический набор категорий Число найденых документов по запросу и фильтру Число найденых документов по запросу и фильтру Активный фильтры
11 Кластеризация Кластеры создаются на основе текста документов
12 Автокоррекция n-gram индекс Отдельный индекс для коррекции Нечёткий поиск Работает по основному индексу
13 Подсказки Похоже на автокоррекцию. Запрос дописывается на основе словаря в индексе и дополняется ключевыми словами на основе статистики.
14 Что индексировать? Каталог продуктов Джинсы Levis #559, индиго Джинсы Levis #559, индиго, размер 32x32 Что считать документом?
15 Когда индексировать? Поисковые индексы нужно перестраивать Периодическая переиндексация всех документов Динамические атрибуты (пример наличие на складе) Сегментированный индекс Позволяет изменять набор документов без перестройки всего индекса Требует регулярной оптимизации индекса
16 Индексные сегменты в Lucene Логарифмическое слияние сегментов Самые молодые сегменты можно не спешить писать на диск
17 Масштабирование Производительность упирается в CPU сложные запросы могут быть очень CPU-ёмкими решение – несколько реплик индекса read-only файлы облегчают задачу
18 Масштабирование Объём индекса Индекс должен помещаться в память Решение – партицирование индекса Каждая партиция выполняет скоринг независимо Результаты нужно агрегировать
19 Резюме: Lucene Фреймоворк/библиотека Java API (нет сетевого интерфейса) Фундамент построения поисковой системы
20 Резюме: Solr Feature reach поиск из коробки Эффективная поддержка фейсетов Кросс платформенные клиент (HTTP) Интеграция со многими CMS Управление распределённым индексом и репликацией Фокус: entrprise приложения Обширная экосистема
21 Резюме: Sphix Простой и быстрый Интеграция с MySQL Интеграция со многими CMS Базовый поисковый функционал Нет фейсетов, подсказок и т.п. Распределённый поиск (партицирование)
22 Резюме: elasticsearch Управление распределённым индексом Простой HTTP API Иcпользует Lucene Фейсеты Проще в настройке чем Solr Фокус: простота и масштабируемость
23 Резюме: Index tank Index tank появился как поисковый SaaS. После покупки компании, код продукта был опубликован как open source. Фокус: социальный контент и crowdsorcing Скоринг по динамическим атрибутам (голоса и т.п.) Управление поисковым облаком
24 Спасибо Алексей Рагозин
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.