Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions gradle/solr/packaging.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ configure(allprojects.findAll {project -> project.path.startsWith(":solr:contrib
// An aggregate that configures lib and test-lib in a temporary location.
task assemblePackaging(type: Sync) {
from "README.md"

from (tasks.jar, {
into "lib"
})

from ({
def externalLibs = configurations.runtimeLibs.copyRecursive { dep ->
Expand Down
3 changes: 3 additions & 0 deletions solr/CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,9 @@ Other Changes

* SOLR-15934: CloseHook is now an interface with default method implementations instead of an abstract class. (Mike Drob)

* SOLR-15916: Remove dist/ from the binary release. The solr-core and solrj jars will be included in the server WEB-INF/lib directory,
and each individual module's jar will be included in its directory's lib/ folder. (Houston Putman)

Bug Fixes
---------------------
* SOLR-15849: Fix the connection reset problem caused by the incorrect use of 4LW with \n when monitoring zooKeeper status (Fa Ming).
Expand Down
18 changes: 13 additions & 5 deletions solr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,18 +141,26 @@ server/
configuration and documents to index. Please see: bin/solr start -help
for more information about starting a Solr server.

bin/
Scripts to startup, manage and interact with Solr instances.

example/
Contains example documents and an alternative Solr home
directory containing various examples.

dist/solr-<component>-XX.jar
The Apache Solr libraries. To compile Apache Solr Plugins,
one or more of these will be required. The core library is
required at a minimum. (see https://solr.apache.org/guide/solr-plugins.html
for more information).
contrib/
Contains modules to extend the functionality of Solr.
Libraries for these modules can be found under contrib/*/lib

docker/
Contains a docker file to build a Docker image using the source binary distribution.
docker/scripts contains scripts that the docker image uses to manage Solr.

docs/index.html
A link to the online version of Apache Solr Javadoc API documentation and Tutorial

licenses/
Licenses, notice files and signatures for Solr dependencies.
```

Instructions for Building Apache Solr from Source
Expand Down
7 changes: 6 additions & 1 deletion solr/bin/postlogs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
Expand Down Expand Up @@ -30,4 +31,8 @@
#
############################################################################################

java -classpath dist/*:dist/solrj-lib/*: org.apache.solr.util.SolrLogPostTool $1 $2

SOLR_TIP=`dirname "$THIS_SCRIPT"`/..
SOLR_TIP=`cd "$SOLR_TIP"; pwd`

java -classpath "$SOLR_TIP/server/lib/ext/*:$SOLR_TIP/server/solr-webapp/webapp/WEB-INF/lib/*" org.apache.solr.util.SolrLogPostTool $1 $2
2 changes: 1 addition & 1 deletion solr/contrib/analysis-extras/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ analyzers for Chinese and Polish, and integration with
OpenNLP for multilingual tokenization, part-of-speech tagging
lemmatization, phrase chunking, and named-entity recognition.

Each of the jars below relies upon including `/dist/solr-analysis-extras-X.Y.jar`
Each of the jars below relies upon including `/contrib/analysis-extras/lib/solr-analysis-extras-X.Y.Z.jar`
in the `solrconfig.xml`

* ICU relies upon `lib/lucene-analyzers-icu-X.Y.jar`
Expand Down
11 changes: 1 addition & 10 deletions solr/contrib/prometheus-exporter/bin/solr-exporter
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,7 @@ then
REPO="$BASEDIR"/lib
fi

CLASSPATH=$CLASSPATH_PREFIX:"$BASEDIR/conf":"$REPO/*":"$BASEDIR/../../dist/solrj-lib/*"
for JAR in $(find "$BASEDIR"/../../dist -name 'solr-solrj-*.jar')
do
CLASSPATH="$CLASSPATH":"$JAR"
done
for JAR in $(find "$BASEDIR"/../../dist -name 'solr-prometheus-exporter-*.jar')
do
CLASSPATH="$CLASSPATH":"$JAR"
done
CLASSPATH="$CLASSPATH":"$BASEDIR/../../server/solr-webapp/webapp/WEB-INF/lib/*":"$BASEDIR/../../server/lib/ext/*"
CLASSPATH=$CLASSPATH_PREFIX:"$BASEDIR/conf":"$REPO/*":"$BASEDIR/../../server/solr-webapp/webapp/WEB-INF/lib/*":"$BASEDIR/../../server/lib/ext/*"

# Memory settings
JAVA_MEM_OPTS=
Expand Down
2 changes: 1 addition & 1 deletion solr/contrib/prometheus-exporter/bin/solr-exporter.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ if "%JAVACMD%"=="" set JAVACMD=java

if "%REPO%"=="" set REPO=%BASEDIR%\lib

set CLASSPATH=%REPO%\*;%BASEDIR%\conf;%BASEDIR%\..\..\dist\solrj-lib\*;%BASEDIR%\..\..\dist\*;%BASEDIR%\..\..\server\lib\ext\*
set CLASSPATH=%REPO%\*;%BASEDIR%\conf;%BASEDIR%\..\..\server\lib\ext\*;%BASEDIR%\..\..\server\solr-webapp\webapp\WEB-INF\lib\*

@REM Convert Environment Variables to Command Line Options
set EXPORTER_ARGS=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

<luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" />
Comment thread
HoustonPutman marked this conversation as resolved.

<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
Expand Down
2 changes: 1 addition & 1 deletion solr/docker/templates/Dockerfile.body.template
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
# add symlink to /opt/solr, remove what we don't want
RUN set -ex; \
(cd /opt; ln -s solr-*/ solr); \
rm -Rf /opt/solr/docs /opt/solr/dist/solr-solrj-*.jar /opt/solr/dist/solrj-lib /opt/solr/dist/solr-core-*.jar;
rm -Rf /opt/solr/docs;

LABEL maintainer="The Apache Solr Project"
LABEL url="https://solr.apache.org"
Expand Down
19 changes: 0 additions & 19 deletions solr/packaging/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,6 @@ ext {
}

configurations {
distSolr {
transitive = false
}
distSolrj
contrib
example
server
Expand All @@ -51,8 +47,6 @@ artifacts {
}

dependencies {
distSolrj project(":solr:solrj")

[":solr:contrib:analysis-extras",
":solr:contrib:analytics",
":solr:contrib:extraction",
Expand All @@ -65,14 +59,9 @@ dependencies {
":solr:contrib:s3-repository",
":solr:contrib:scripting"
].each { contribName ->
distSolr project(contribName)
contrib project(path: contribName, configuration: "packaging")
}

distSolr project(":solr:core")
distSolr project(":solr:server")
distSolr project(":solr:solrj")

example project(path: ":solr:example", configuration: "packaging")
server project(path: ":solr:server", configuration: "packaging")

Expand Down Expand Up @@ -109,14 +98,6 @@ distributions {
into "contrib"
})

from(configurations.distSolr, {
into "dist"
})

from(configurations.distSolrj - configurations.distSolr, {
into "dist/solrj-lib"
})

from(configurations.example, {
into "example"
})
Expand Down
2 changes: 1 addition & 1 deletion solr/server/solr/configsets/_default/conf/solrconfig.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
The example below can be used to load a solr-contrib along
with their external dependencies.
-->
<!-- <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" /> -->
<!-- <lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib" regex=".*\.jar" /> -->

<!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,14 @@
with their external dependencies.
-->
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-extraction-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" />

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-scripting-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/scripting/lib/" regex=".*\.jar" />

<!-- an exact 'path' can be used instead of a 'dir' to specify a
specific jar file. This will cause a serious error to be logged
Expand Down
1 change: 1 addition & 0 deletions solr/solr-ref-guide/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ ext {
solrRootPath : project(':solr').projectDir.toString() + File.separator,
solrDocsVersion : project.ext['solrDocsVersion'],
solrGuideVersionPath : project.ext['solrGuideVersionPath'],
solrFullVersion: project.version,
buildDate : rootProject.ext['buildDate'],
buildYear : rootProject.ext['buildYear'],
* : details.props,
Expand Down
1 change: 1 addition & 0 deletions solr/solr-ref-guide/src/_config.yml.template
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ asciidoc: {}
# them to the <asciidoctor:convert/> ant task for precommit validation as well.
solr-attributes: &solr-attributes-ref
solr-root-path: '${solrRootPath}'
solr-full-version: '${solrFullVersion}'
solr-guide-draft-status: '${solrGuideDraftStatus}'
solr-guide-version-path: '${solrGuideVersionPath}'
solr-docs-version: '${solrDocsVersion}'
Expand Down
2 changes: 1 addition & 1 deletion solr/solr-ref-guide/src/analytics.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The Analytics Handler should not be used by users to submit analytics requests.

To use the Analytics Component, the first step is to install this contrib module's plugins into Solr -- see the <<solr-plugins.adoc#installing-plugins,Solr Plugins>> section on how to do this.
Note: Method with `<lib/>` directive doesn't work.
Instead copy `${solr.install.dir}/dist/solr-analytics-x.x.x.jar` to `${solr.install.dir}/server/solr-webapp/webapp/WEB-INF/lib/`, as described in the <<libs.adoc#lib-directories,lib directories documentation>>.
Instead copy `${solr.install.dir}/contrib/analytics/lib/solr-analytics-x.x.x.jar` to `${solr.install.dir}/server/solr-webapp/webapp/WEB-INF/lib/`, as described in the <<libs.adoc#lib-directories,lib directories documentation>>.

Next you need to register the request handler and search component.
Add the following lines to `solrconfig.xml`, near the defintions for other request handlers:
Expand Down
2 changes: 1 addition & 1 deletion solr/solr-ref-guide/src/docker-networking.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ To load data, and see it was split over shards:
[source,bash]
----
docker exec -it --user=solr zksolr1 bin/post -c my_collection1 example/exampledocs/manufacturers.xml
# /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -classpath /opt/solr/dist/solr-core-9.0.0.jar -Dauto=yes -Dc=my_collection1 -Ddata=files org.apache.solr.util.SimplePostTool example/exampledocs/manufacturers.xml
# /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -classpath /opt/solr/server/lib/ext/*:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/* -Dauto=yes -Dc=my_collection1 -Ddata=files org.apache.solr.util.SimplePostTool example/exampledocs/manufacturers.xml
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I somehow wished we already got rid of start.jar and had assembled the classpath programmatically during startup, as @uschindler explains in https://issues.apache.org/jira/browse/SOLR-11087. Then we could leave solr-core and solrj in dist/ and put them on classpath from there and not in WEB-INF, which would acieve the same goal of not duplicating jars in the distro.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we want to remove duplicate jars, we would still need to remove dist/solrj-lib, since those are duplicated in WEB-INF and lib/ext. But yes, we could likely keep those two in dist/.

# SimplePostTool version 9.0.0
# Posting files to [base] url http://localhost:8983/solr/my_collection1/update...
# Entering auto mode. File endings considered are xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
Expand Down
1 change: 0 additions & 1 deletion solr/solr-ref-guide/src/indexing-with-tika.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,6 @@ If it is not already configured, you will need to configure `solrconfig.xml` to
[source,xml]
----
<lib dir="${solr.install.dir:../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../..}/dist/" regex="solr-cell-\d.*\.jar" />
----

You can then configure the `ExtractingRequestHandler` in `solrconfig.xml`.
Expand Down
2 changes: 1 addition & 1 deletion solr/solr-ref-guide/src/indexing-with-update-handlers.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ The status field will be non-zero in case of failure.
The Scripting contrib module provides a separate XSLT Update Request Handler that allows you to index any arbitrary XML by using the `<tr>` parameter to apply an https://en.wikipedia.org/wiki/XSLT[XSL transformation].
You must have an XSLT stylesheet in the `conf/xslt` directory of your <<config-sets.adoc#,configset>> that can transform the incoming data to the expected `<add><doc/></add>` format, and use the `tr` parameter to specify the name of that stylesheet.

Learn more about adding the `dist/solr-scripting-*.jar` file into Solr's <<libs.adoc#lib-directories,Lib Directories>>.
Learn more about adding the `contrib/scripting/lib/*` files into Solr's <<libs.adoc#lib-directories,Lib Directories>>.

=== tr Parameter

Expand Down
2 changes: 1 addition & 1 deletion solr/solr-ref-guide/src/indexupgrader-tool.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ You will need to include the `lucene-core-<version>.jar` and `lucene-backwards-c

[source,bash,subs="attributes"]
----
java -cp lucene-core-{solr-docs-version}.0.jar:lucene-backward-codecs-{solr-docs-version}.0.jar org.apache.lucene.index.IndexUpgrader [-delete-prior-commits] [-verbose] /path/to/index
java -cp lucene-core-{solr-full-version}.jar:lucene-backward-codecs-{solr-full-version}.jar org.apache.lucene.index.IndexUpgrader [-delete-prior-commits] [-verbose] /path/to/index
----

This tool keeps only the last commit in an index.
Expand Down
5 changes: 1 addition & 4 deletions solr/solr-ref-guide/src/installing-solr.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,6 @@ It is described in more detail in the section <<taking-solr-to-production.adoc#,
contrib/::
Solr's `contrib` directory includes add-on plugins for specialized features of Solr.

dist/::
The `dist` directory contains the main Solr .jar files.

docs/::
The `docs` directory includes a link to online Javadocs for Solr.

Expand All @@ -109,7 +106,7 @@ The `licenses` directory includes all of the licenses for 3rd party libraries us
server/::
This directory is where the heart of the Solr application resides.
A README in this directory provides a detailed overview, but here are some highlights:
* Solr's Admin UI (`server/solr-webapp`)
* Solr's Admin UI & JAR files (`server/solr-webapp`)
* Jetty libraries (`server/lib`)
* Log files (`server/logs`) and log configurations (`server/resources`).
See the section <<configuring-logging.adoc#,Configuring Logging>> for more details on how to customize Solr's default logging.
Expand Down
15 changes: 7 additions & 8 deletions solr/solr-ref-guide/src/jdbc-dbvisualizer.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@
Solr's JDBC driver supports https://www.dbvis.com/[DbVisualizer] for querying Solr.

For DbVisualizer, you will need to create a new driver for Solr using the DbVisualizer Driver Manager.
This will add several SolrJ client .jars to the DbVisualizer classpath.
The files required are:

* all .jars found in `$SOLR_HOME/dist/solrj-lib`
* the SolrJ .jar found at `$SOLR_HOME/dist/solr-solrj-<version>.jar`
This will add several SolrJ client (and dependency) `.jar` s to the DbVisualizer classpath.
<<#add-driver-files-to-classpath,See below>> for the required files.

Once the driver has been created, you can create a connection to Solr with the connection string format outlined in the generic section and use the SQL Commander to issue queries.

Expand All @@ -45,7 +42,7 @@ image::images/jdbc-dbvisualizer/dbvisualizer_solrjdbc_2.png[image,width=532,heig

Provide a name for the driver, and provide the URL format: `jdbc:solr://<zk_connection_string>/?collection=<collection>`.
Do not fill in values for the variables "```zk_connection_string```" and "```collection```", those will be provided later when the connection to Solr is configured.
The Driver Class will also be automatically added when the driver .jars are added.
The Driver Class will also be automatically added when the driver `.jar` s are added.

image::images/jdbc-dbvisualizer/dbvisualizer_solrjdbc_3.png[image,width=532,height=400]

Expand All @@ -54,8 +51,10 @@ image::images/jdbc-dbvisualizer/dbvisualizer_solrjdbc_3.png[image,width=532,heig

The driver files to be added are:

* all .jars in `$SOLR_HOME/dist/solrj-lib`
* the SolrJ .jar found in `$SOLR_HOME/dist/solr-solrj-<version>.jar`
* SolrJ dependency `.jar` s found in `$SOLR_TIP/server/solr-webapp/webapp/WEB-INF/lib/\*` and `$SOLR_TIP/server/lib/ext/*`.
In the Solr distribution these dependencies are not separated from Solr's dependencies, so you must include all or manually choose the exact set that is needed.
Please refer to the https://search.maven.org/artifact/org.apache.solr/solr-solrj/{solr-full-version}/jar[maven release] for the exact dependencies needed for your version.
* The SolrJ `.jar` found at `$SOLR_TIP/server/solr-webapp/webapp/WEB-INF/lib/solr-solrj-<version>.jar`

image::images/jdbc-dbvisualizer/dbvisualizer_solrjdbc_4.png[image,width=535,height=400]

Expand Down
4 changes: 2 additions & 2 deletions solr/solr-ref-guide/src/jdbc-python-jython.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The CLASSPATH variable must be configured to contain the `solr-solrj` jar and th

pip install JayDeBeApi

export CLASSPATH="$(echo $(ls /opt/solr/dist/solr-solrj* /opt/solr/dist/solrj-lib/*) | tr ' ' ':')"
export CLASSPATH="/opt/solr/server/lib/ext/*:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/*"

python solr_jaydebeapi.py
----
Expand Down Expand Up @@ -74,7 +74,7 @@ The CLASSPATH variable must be configured to contain the solr-solrj jar and the
#!/usr/bin/env bash
# Java and Jython must already be installed

export CLASSPATH="$(echo $(ls /opt/solr/dist/solr-solrj* /opt/solr/dist/solrj-lib/*) | tr ' ' ':')"
export CLASSPATH="/opt/solr/server/lib/ext/*:/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/*"

jython [solr_java_native.py | solr_zxjdbc.py]
----
Expand Down
2 changes: 1 addition & 1 deletion solr/solr-ref-guide/src/jdbc-r.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Rscript solr_rjdbc.R

library("RJDBC")

solrCP <- c(list.files('/opt/solr/dist/solrj-lib', full.names=TRUE), list.files('/opt/solr/dist', pattern='solrj', full.names=TRUE, recursive = TRUE))
solrCP <- c(list.files('/opt/solr/server/lib/ext/', list.files('/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/', full.names=TRUE, recursive = TRUE))

drv <- JDBC("org.apache.solr.client.solrj.io.sql.DriverImpl",
solrCP,
Expand Down
6 changes: 4 additions & 2 deletions solr/solr-ref-guide/src/jdbc-squirrel.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ To configure this, you will need to create a new driver for Solr.
This will add several SolrJ client .jars to the SQuirreL SQL classpath.
The files required are:

* all .jars found in `$SOLR_HOME/dist/solrj-libs`
* the SolrJ .jar found at `$SOLR_HOME/dist/solr-solrj-<version>.jar`
* SolrJ dependency `.jar` s found in `$SOLR_TIP/server/solr-webapp/webapp/WEB-INF/lib/\*` and `$SOLR_TIP/server/lib/ext/*`.
In the Solr distribution these dependencies are not separated from Solr's dependencies, so you must include all or manually choose the exact set that is needed.
Please refer to the https://search.maven.org/artifact/org.apache.solr/solr-solrj/{solr-full-version}/jar[maven release] for the exact dependencies needed for your version.
* The SolrJ `.jar` found at `$SOLR_TIP/server/solr-webapp/webapp/WEB-INF/lib/solr-solrj-<version>.jar`

Once the driver has been created, you can create a connection to Solr with the connection string format outlined in the generic section and use the editor to issue queries.

Expand Down
4 changes: 2 additions & 2 deletions solr/solr-ref-guide/src/learning-to-rank.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ This example folder is not shipped in the Solr binary release.

== Installation of LTR

The ltr contrib module requires the `dist/solr-ltr-*.jar` JARs.
The ltr contrib module requires the `contrib/ltr/lib/solr-ltr-*.jar` JARs.

== LTR Configuration

Expand All @@ -490,7 +490,7 @@ Note that by default paths are relative to the Solr core so they may need adjust
+
[source,xml]
----
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" />
----

* Declaration of the `ltr` query parser.
Expand Down
7 changes: 3 additions & 4 deletions solr/solr-ref-guide/src/libs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ Create this adjacent to the `conf/` directory; it's not present by default.
Certain plugins or add-ons to plugins require placement here.
They will document themselves to say so.

* `<solr_install>/server/lib/ext`: The `.jar` files used for the Solr server as well as Solr Core/SolrJ.

Solr incorporates Jetty for providing HTTP server functionality.
Jetty has some directories that contain `.jar` files for itself and its own plugins / modules or JVM level plugins (e.g., loggers).
Solr plugins won't work in these locations.
Expand All @@ -64,13 +66,10 @@ These examples show how to load contrib modules into Solr:
[source,xml]
----
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-extraction-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" />
----
Loading