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