Wanderland

Advaita Service: solr (search engine)

solr is the Apache Solr 5 search engine behind iPathwayGuide and iBioGuide search and autocomplete. It is not a Spring service. Its cores live on EFS.

What it does

Full-text search over the gene / pathway / microRNA / drug / GO / disease entity set. Cores: ars-dih (search index, populated by the Solr DataImportHandler) and ars-suggester (autocomplete). Query ranking (edismax bf/qf/fl) is applied by the callers (solr-client proxy and biob), not stored in Solr.

Current setup

Legacy Migrated (Fargate)
Cluster prod-legacy advaita-ecs-workloads-bddev (solr-bddev)
Launch EC2 / bridge Fargate / awsvpc
Task def prod-solr:10 solr-bddev:6
Image core/solr:5.0.0 core/solr:5.0.0-fargate
Port 8983 8983
Cores EFS host mount /mnt/efs/cache/v1906/solr/data/solr EFS access point fs-072246d867e8a8c71 / fsap-07a8a2b756381f5ba, read-write → /data/solr
Reached by static IP 10.0.1.176 (prod) / 10.0.1.220 (dev), no LB backend ALB → solr.{bddev,bdprod}.advaitabio.com

solr is not a Spring service (no Eureka, no Spring profiles); it runs a pre-mirrored ECR image.

The Fargate migration (projects/solr)

Deployed from advaita-deploy projects/solr (vivarta.yml + cfn/solr.yml), containerized_deployment, on advaita-ecs-workloads bddev/bdprod. The CFN creates the Fargate task + service, backend ALB target groups + listener rules (host solr.{sub}.advaitabio.com, dev solr-dev.{sub}), Route53 aliases, and EFS mounts (cores + logs). HealthCheck /solr/ (200,302). :5.0.0-fargate is the 2016 :5.0.0 image re-pushed as a schema-2 manifest (Fargate 1.4 rejects schema-1); legacy :5.0.0 is untouched. Forked task role task-role-solr holds read-write EFS (ClientMount + ClientWrite) on the s3cache cores access point.

Cores: dev mounts a read-write TEST COPY (efs-solr-cores-test); the original cores are at efs-s3cache SolrAccessPoint. There is one read-write cores tree — never two writers; stop the legacy solr before scaling the Fargate one above 0. prod promotes the bddev image (no rebuild).

Dependents

Dependencies

EFS (cores + logs access points); backend ALB (Fargate front); the shared clouddev-legacy file system that holds the cores.

The code / image

Image repo core/solr (ECR, pre-mirrored — not built from a Spring repo). The Solr image Dockerfile / build repo is not yet located. Core contents are data, not code.

Migration ladder

Open questions

References (dark-lantern)

repo: advaita-deploy
path: projects/solr/vivarta.yml