Processes ############# Under the hood, Nano is separated into different processes by the rules of microservice architecture. Core ===== The core's purpose is to handle the different instances and configurations. It also manages the other running processes. Control ======== A minimalistic user interface which allows the user to control the running Nano instance. Indexer ======== The indexer takes all the configured paths and traverses them in order to index their contents. It's other task is to observe these locations for any content changes. Gateway ======== The gateway process is the main entrypoint for all server communications. It behaves as a request preprocessor and request handler for different kinds of actions. Server ======= The server process is split into two parts by the type of requests. FsTx ----- Filesystem transactor is responsible for executing requests that create or update physical files on the system. General -------- The general process handles all listing and get requests on the file system, including administrative and search requests. Picoture ========= This is a custom thumbnail generator worker process. It works similarly to the Tika content processor. The indexer uses it to produce thumbnails for supported files. Additional software processes ============================== Nano uses a couple third party, open source softwares for the raw calculations of the indexes and file contents. These software are Apache Solr and Apache Tika. Apache Solr ------------ Apache Solr's query engine (in standalone mode) is used for creating the search indexes and maintaining the index database. Apache Tika ------------ For file content extraction, Apache Tika is used.