/sidonia

A simple all golang inverted index similar to Lucene. Used for full-text indexing of text, keywords, numbers, and dates. Build as an example project for learning inverted indexes.

Primary LanguageGo

Introduction

This is a very raw implementation of an inverted index similar to lucene. I'm using this as a playground to grow my own understanding of Information Retrieval solutions and algorithm used for full text searching databases like ElasticSearch.

Good reads:

Index 1,600,000,000 Keys with Automata and Rust - learning about FSTs

https://www.elastic.co/guide/en/elasticsearch/reference/6.2/glossary.html

https://jingxuan.li/2018/08/25/Boolean-retrieval/ https://www.elastic.co/blog/apache-lucene-numeric-filters