Solr Search Loader

Solr Search ETL

Atlas BI Library ETL | Solr Search Engine


maintainability discord chat latest release

Load Atlas metadata into the Solr search engine that powers Atlas' search.

🏃 Getting Started

In order to use these scripts you should already have Atlas published, with Solr started. See the Atlas BI Libary docs.



For development purposes, sorl search can be started directly from the Atlas source code.

  1. Install Java JRE
  2. Add a system environment variable called JAVA_HOME with the path to java, for example C:\Program Files\Java\jdk-17.0.1.
  3. In your terminal navigate to /web/solr/ in the Atlas source code. Run ./bin/solr start to start solr.


This ETL uses python > 3.8. Python can be installed from

C++ build tools are needed on Windows OS.

ODBC Driver for SQL Server is required for connecting to the database.

Install Packages

This ETL uses poetry as the package manager. Alternatively, you can use pip to install the dependencies listed in pyproject.toml/dependencies.

poetry install

Create a .env file

Variables can either be set in the environment, or added to a .env file.

ATLASDATABASE=DRIVER={ODBC Driver 18 for SQL Server};SERVER=server_name;DATABASE=atlas;UID=user_name;PWD=password;TrustServerCertificate=Yes;"

# Optional for bookstack etl

Running script should be run once daily to empty Solr.

The remaining atlas_*.py scripts can be run periodically through the day to keep search results current.

poetry run python
poetry run python
poetry run python
poetry run python
poetry run python
poetry run python
poetry run python
poetry run python

# Optional etl to load documents from bookstack. Use this as an example etl for loading external content into search!
poetry run python

🎁 Contributing

This repository uses pre-commit and commitzen. Please commit npm run commit && git push.