In the following sections, we will perform an in-depth analysis of the text indexer component. We will identify the set of operations that the text indexer component must be able to support and formally encode them as a Go interface named Indexer.
In a similar fashion to the link graph analysis, we will be constructing two concrete implementations of the Indexer interface: an in-memory implementation based on the popular bleve [1] package and a horizontally-scalable implementation using Elasticsearch [9].