Installation

Install docker and docker compose

When using tellusr you should have the latest version of docker compose installed, as the yaml specification is changing rapidly:

If you are installing on an ubuntu server you may install the docker engine and docker compose by following these instructions instead:

Create a TellusR User with Docker Access

sudo adduser tellusr
sudo usermod -aG docker tellusr
sudo su - tellusr

Quick Deploy of TellusR

curl -s https://<DOWNLOAD_HOST>/tellusr.sh | bash -s install

This will download TellusR components from the docker hub. A configuration file named tellusr.config and a docker-compose.yml file is added to the directory $HOME/tellusr. The tellusr.config file must comply with .env format of docker compose: https://docs.docker.com/compose/environment-variables/#the-env-file

The tellusr.config will look something like this:

# NLP_LANGUAGES=no # no,en
# NLP_RAM="7168m"
# NLP_CPUS="1.5"

# TELLUSR_RESTART_POLICY=always

# TELLUSR_SETUP_CONFIGSET="$HOME/tellusr/configset"
TELLUSR_PROFILE=default # external_solr | basic

# TELLUSR_SOLR_URL="http://solr:8983/solr"
# SOLR_HEAP=3072m

NLP_VERSION_TAG=2.3.7
CENTRAL_VERSION_TAG=2.3.7
SOLR_VERSION_TAG=2.3.7

Entries beginning with # is commented out, and you need to uncomment them if you want to override the defaults. If you only need semantic search in Norwegian it is a good idea to define NLP_LANGUAGES=no, as the English dictionary requires a lot of resources. If you are running TellusR on your local machine TELLUSR_RESTART_POLICY=no will ensure that it does not restart automatically when you reboot. If you want to connect to a Solr instance that is not controlled by this setup you could do so by defining TELLUSR_PROFILE=external_solr and making TELLUSR_SOLR_URL point to the Solr instance you want to use.

Start TellusR

During installation the tellusr.sh script is put int the $HOME/tellusr/bin directory.

You can start TellusR and create your first core using this with:

cd $HOME/tellusr
bin/tellusr.sh up
bin/tellusr.sh migrate

This will start the tellusr services, and install a default core (or a collection if using cloud mode) (found in $HOME/tellusr/configset) to Solr.

You may, for convenience, add the tellusr.sh script to the PATH by adding the following snippet to $HOME/.bashrc.

export PATH=$PATH:$HOME/tellusr/bin

Accessing the Dashboard

When the installation is complete the TellusR Dashboard will be available on port 8989. If you are on the same machine you can access it at:

Solr will be available on port 8983.

You may expose them to port 80 and 81 respectively with $HOME/tellusr/bin/tellusr.sh proxy up. This will set up authentication with username tellusr and password TellusRSwings.

Installing License Key

To enable the full functionality you need to a license key. Please contact Sannsyn if you do not yet have it. The license key should be copied into the Admin->License menu in the dashboard.

Importing Data into Solr

When the default core is migrated, you may start to import data. This may be done by sending a json file to the update handler inside the core. The easiest is to use one of the dynamic fields defined in the default schema, as in the example here. For these fields, the postfix (here _txt) decides the data type.

If you import from the local machine directly to Solr you might do it like this:

curl 'http://localhost:8983/solr/default/update?commit=true' \
  --request POST --header "Content-Type: application/json" \
  --data '[{"id":"1","title_txt":"A title","description_txt":"A description"}]'

Or, if you prefer, via the authentication proxy to port 81. (If you do this from a remote machine you should replace localhost with the hostname or ip address of the machine running Solr.)

curl 'http://localhost:81/solr/default/update?commit=true' \
  --user "tellusr:TellusRSwings" \
  --request POST --header "Content-Type: application/json" \
  --data '[{"id":"2","title_txt":"Another title","description_txt":"Another description"}]'

You may read more about updating documents by sending json files here: https://solr.apache.org/guide/8_9/uploading-data-with-index-handlers.html#json-formatted-index-updates