В поисках Tommy Hilfiger
Лекция- Software Engineering
Невероятно, но факт — невозможно взять Apache Lucene / Solr «из коробки» и подключить для поиска по каталогу товаров на сайте! Как минимум, необходимо решить две проблемы. Во-первых, разработать специфические модели документов и языка запросов. Во-вторых, реализовать эти модели с помощью базовых алгоритмов поиска Lucene с производительностью, достаточной для нескольких миллионов посетителей в Чёрную Пятницу. Этот доклад поможет справиться со второй проблемой — познакомит с деталями реализации алгоритмов поиска в Lucene. Доклад будет полезен тем, кто занимается поиском и хочет узнать «что внутри», а рассматриваемые алгоритмические задачи настолько увлекательны, что заинтересуют даже если вы никогда не работали с этим инструментом!
Для начала мы ответим на следующие вопросы: зачем нужен Lucene? В чём и в каких случаях он превосходит реляционные базы данных? Затем будут рассмотрены основные структуры данных Lucene, сложность алгоритмов поиска и затраты памяти. В докладе не будет «воды» типа синтаксиса запросов и прочих «Hello World», только алгоритмы boolean retrieval и их оценка. В то же время доклад не требует каких-либо знаний о Lucene; инженерной подготовки будет достаточно. В докладе будет своя драма: как поиск пары документов мог отнимать несколько секунд, и как всё решилось в релизе 4.3.