Поисковые сервера и библиотеки как Solr/Lucene/Elastic выполняют поиск по ключевым словам. Иногда появляется "странное" требование поиска по подстрокам, также известное в SQL как WHERE field LIKE %infix%. В докладе речь пойдёт про структуры данных индекса Lucene; о том почему этот поиск алгоритмически сложный; и как выполнить его с помощью имеющихся структур данных с минимальной кастомизацией Solr. Доклад не рассматривает SQL, Solr SQL, и суффиксные массивы; не требует от слушателей специфических знаний про поисковые машины, так как посвящён структурам данных обратного индекса и конечным трансляторам (FST).
47. 47
REFERENCES
What is in a Lucene index? Adrien Grand
https://www.youtube.com/watch?v=T5RmMNDR5XI
Automata Invasion. Robert Muir, Michael Mccandless
https://www.youtube.com/watch?v=pd2jvy2IbJE
В поисках Tommy Hilfiger, Михаил Хлуднев
https://www.youtube.com/watch?v=Azf4oUL-Dqc
A new Lucene suggester based on infix matches
http://blog.mikemccandless.com/2013/06/a-new-lucene-suggester-based-on-infix.html