• Home
  • LLMs
  • Docker
  • Kubernetes
  • Java
  • All
  • About
Apache Solr | Solr directory structure
  1. Solr directory structure

  1. Solr directory structure
    Solr's installation directory structure:

    • Solr root directory ("${SOLR_ROOT}") contains the following directories and files:

      $ tree -L 1 /opt/solr
      /opt/solr
      ├── bin: utility scripts
      ├── server: solr server home directory
      ├── dist: Solr libraries: core, solrj, test-framework, contrib modules
      ├── contrib: contrib modules
      ├── example: Solr examples
      ├── docs: link to Solr Documentation
      ├── licenses
      ├── LICENSE.txt
      ├── NOTICE.txt
      ├── README.txt
      ├── LUCENE_CHANGES.txt
      └── CHANGES.txt

    • Solr "${SOLR_ROOT}/bin" directory contains the following directories and files:

      $ tree -L 1 /opt/solr/bin
      /opt/solr/bin
      ├── solr: Solr command line (start, stop, ...)
      ├── solr.in.sh: Solr settings
      ├── post: Solr command line to post files
      ├── postlogs: Solr command line to post logs files
      ├── oom_solr.sh: kill Solr process
      ├── install_solr_service.sh: install Solr service
      └── init.d

    • The "server" directory contains the files required to run Solr as a server process.

      - The "contexts" directory contains the configuration file for the Jetty's WebApp.
      - The "etc" directory contains the configuration files of Jetty (jetty host, port, ...).
      - The "resources" directory contains log4j configuration files (Log debugging levels can be changed at runtime in the Solr Admin UI).
      - The "solr" directory contains solr configuration files (solr.xml, zoo.cfg) and solr config examples (configsets).
      - The "solr-webapp" directory contains the Solr web application files.
      - The "logs" directory contains log files (server, jvm metrics, slow requests).

      Solr "${SOLR_ROOT}/server" directory contains the following directories and files:

      $ tree -L 1 /opt/solr/server
      /opt/solr/server
      ├── solr: default Solr home directory (index files, configuration files, configsets samples)
      ├── logs: logs files
      ├── resources: logs configuration files
      ├── scripts: SolrCloud scripts (zkcli.sh, snapshotscli.sh)
      ├── solr-webapp: Solr webapp
      ├── lib: Jetty libraries
      ├── contexts: Jetty webapp deployment descriptor file
      ├── etc: Jetty configuration files
      ├── start.jar
      └── README.txt

    • Solr "${SOLR_ROOT}/server/solr" default home directory contains the following directories and files:

      $ tree -L 1 /opt/solr/server/solr
      /opt/solr/server/solr
      ├── solr.xml: Solr configuration file
      ├── zoo.cfg: Zookeeper (embedded) configuration file
      ├── configsets: Solr configuration examples (_default, sample_techproducts_configs)
      └── README.txt

    • The "contrib" directory contains extensions modules to Solr.

      - The DataImportHandler (DIH) module allows importing data from databases, XML files, and HTTP data sources.
      - The Extraction (Solr Cell) module allows extraction text from files (pdf, word, ...) by leveraging Apache Tika.

      Solr "${SOLR_ROOT}/contrib" directory contains the following directories and files:

      $ tree -L 1 /opt/solr/contrib
      /opt/solr/contrib
      ├── extraction: Tika support for text extraction
      ├── analysis-extras: text analysis plugins
      ├── clustering: clustering support for search results
      ├── langid: language detection
      └── velocity: velocity templates-based UI

    • Solr "${SOLR_ROOT}/example" directory contains the following directories and files:

      $ tree -L 1 /opt/solr/example
      /opt/solr/example
      ├── example-DIH: DataImportHandler configuration files
      ├── files: file-based search configuration files
      ├── exampledocs: sample documents
      ├── films: sample film data (json, csv, xml)
      └── README.txt

    • The "dist" directory contains libraries jar files.

      - Solr core jar file is needed to create Java based clients application that uses Solr features.
      - SolrJ jar file and solrj-lib directory are needed to create Java based clients application that integrate with Solr.
      - Solr test framework jar file and test-framework directory are needed to create unit and integration tests for Solr.

      Solr "${SOLR_ROOT}/dist" directory contains the following directories and files:

      $ tree -L 1 /opt/solr/dist
      /opt/solr/dist
      ├── solr-analysis-extras-9.8.1.jar
      ├── solr-analytics-9.8.1.jar
      ├── solr-cell-9.8.1.jar
      ├── solr-clustering-9.8.1.jar
      ├── solr-core-9.8.1.jar
      ├── solr-dataimporthandler-9.8.1.jar
      ├── solr-dataimporthandler-extras-9.8.1.jar
      ├── solr-jaegertracer-configurator-9.8.1.jar
      ├── solrj-lib
      ├── solr-langid-9.8.1.jar
      ├── solr-ltr-9.8.1.jar
      ├── solr-prometheus-exporter-9.8.1.jar
      ├── solr-solrj-9.8.1.jar
      ├── solr-test-framework-9.8.1.jar
      ├── solr-velocity-9.8.1.jar
      └── test-framework
© 2025  mtitek