lark: Solr integration
Related to #72 (closed); supersedes !25 (closed)
Local Checklist
-
Read our Contributing guide (for newcomers) -
Tests written and passing locally? -
Code style checked? -
QA-ed locally? -
Rebased with master
branch? -
Configuration updated (if needed)? -
Documentation updated (if needed)?
What does this Merge Request do?
Uses the Solr adapter as the index adapter, introduces dotenv
for configuration in non-production environments,
Why are we doing this? Any context of related work or Epic?
We need a stable index!
References #72 (closed)
Where should a reviewer start?
Sorry, this is a big one. Probably you could start by doing
cd lark
echo "SOLR_CONFIG_COMMIT_SHA=$(git rev-parse HEAD)" >> .env
./bin/docker-build.sh -e test
./bin/docker-up.sh -e test
./bin/docker-spec.sh -e test
You should only need to do the SOLR_CONFIG_COMMIT_SHA
dance until this is committed to master
or in development when changing the solr configuration. The CI build sets this explicitly; in production, we should always be using the solr config from master
(as with all other code).
Additionally, see the documentation added to the README.md.
Database changes
A basic Solr config is introduced. See: lark/solr/config
New ENV variables
So many! Possibly some of these can be removed in future iterations of the Solr deployment, but for now, we have:
EVENT_ADAPTER
INDEX_ADAPTER
SOLR_CORE_NAME
SOLR_CONFIG_DIR
SOLR_URL
REPOSITORY_URL