Advanced search
Advanced search allows users to find documents either by words in filenames or by words in tags. Document tags are generated automatically and assigned to document revisions opaquely on each upload, or modification. Tags include most used and related words. For example, document containing content “cats and dogs” can also be retrieved by searching for keyboard “pets”. This is also known in document management systems as sparse vector search.
Use cases of advanced search
Advanced search allows users to find documents without knowing exact words used within it. Sparse vector search allows variations in word endings, substitutions for similar meaning, etc. Search is being executed on list of tags that are stored together with document revision.
Vector search replaces rigid keyword search with search by similar meaning keywords.
During upload document is converted to text, words are extracted, list of tags are generated for each word, and top scoring tags for entire document are saved in the database as a sparse vector. During a search, words are extracted from query, list of tags are generated for each word, and top scoring tags for query are prepared as another sparse vector. Query is executed by scoring document vectors against search vector and sorted by similarity.
Search types
Document search in general usually consists of filename search, faceted search and vector search. Filename search allows users to find documents by keywords in name. Faceted search allows users to find documents by various fields, like creation date, author, modifier, etc. Vector search allow users to find documents by contents.