Suggester implementation for the OpenGrok search engine
Implementace suggesteru pro vyhledávač OpenGrok
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/101441Identifiers
Study Information System: 201807
Collections
- Kvalifikační práce [10593]
Author
Advisor
Referee
Kofroň, Jan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software and Data Engineering
Department
Network and Labs Management Center
Date of defense
10. 9. 2018
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (English)
autocomplete, suggest, OpenGrok, index, search engine, source code, query, FST, n-gram, document, information retrievalFunkcia automatického doplňovania je veľmi dôležitou súčasťou moderných vyhľadávacích nástrojov. Cieľom práce je implementovať takýto nástroj pre pro- jekt OpenGrok. Vyhľadávací nástroj OpenGrok je vybudovaný nad Apache Lu- cene a podporuje syntax jeho dotazov. Prezentovaná implementácia automatic- kého doplňovania popdporuje túto syntax dotazov a poskytuje návrhy nielen pre prefixy, ale aj pre wildcardy, regulárne výrazy alebo frázy. Implementácia tak- tiež berie do úvahy možnosť zľučovania dotazov. To znamená, že ak je už jeden dotaz špecifikovaný a používateľ začína písať ďalší dotaz, tak prvý dotaz obme- dzuje návrhy pre druhý dotaz. Propagácia špecifických návrhov je založená na už vytvorenej index dátovej štruktúre knižnice Lucene a na predchádzajúcich vyhľadávaniach používateľov.
The suggester functionality is an important feature of modern search engines. The aim of the thesis is to implement it for the OpenGrok project. The OpenGrok search engine is based on Apache Lucene and supports its query syntax. Presented suggester implementation supports this query syntax and provides suggestions not only for prefixes but also for wildcards, regular expressions, or phrases. The implementation also takes into account the possibility of grouping queries. That means, if one query is already specified and user is typing another query, then the first query will restrict the suggestions for the second query. The promotion of specific suggestions is based on the underlying Lucene index data structure and previous searches of the users.