75 lines
2.9 KiB
Markdown
75 lines
2.9 KiB
Markdown
# What is Solr?
|
|
|
|
Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites.
|
|
|
|
Learn more on [Apache Solr homepage](http://lucene.apache.org/solr/) and in the [Apache Solr Reference Guide](https://www.apache.org/dyn/closer.cgi/lucene/solr/ref-guide/).
|
|
|
|
> [wikipedia.org/wiki/Apache_Solr](https://en.wikipedia.org/wiki/Apache_Solr)
|
|
|
|
%%LOGO%%
|
|
|
|
# How to use this Docker image
|
|
|
|
To run a single Solr server:
|
|
|
|
```console
|
|
$ docker run --name my_solr -d -p 8983:8983 -t solr
|
|
```
|
|
|
|
Then with a web browser go to `http://localhost:8983/` to see the Admin Console (adjust the hostname for your docker host).
|
|
|
|
To use Solr, you need to create a "core", an index for your data. For example:
|
|
|
|
```console
|
|
$ docker exec -it --user=solr my_solr bin/solr create_core -c gettingstarted
|
|
```
|
|
|
|
In the web UI if you click on "Core Admin" you should now see the "gettingstarted" core.
|
|
|
|
If you want to load some example data:
|
|
|
|
```console
|
|
$ docker exec -it --user=solr my_solr bin/post -c gettingstarted example/exampledocs/manufacturers.xml
|
|
```
|
|
|
|
In the UI, find the "Core selector" popup menu and select the "gettingstarted" core, then select the "Query" menu item. This gives you a default search for "*:*" which returns all docs. Hit the "Execute Query" button, and you should see a few docs with data. Congratulations!
|
|
|
|
To learn more about Solr, see the [Apache Solr Reference Guide](https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide).
|
|
|
|
## Distributed Solr
|
|
|
|
You can also run a distributed Solr configuration, with Solr nodes in separate containers, sharing a single ZooKeeper server:
|
|
|
|
Run ZooKeeper, and define a name so we can link to it:
|
|
|
|
```console
|
|
$ docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 jplock/zookeeper
|
|
```
|
|
|
|
Run two Solr nodes, linked to the zookeeper container:
|
|
|
|
```console
|
|
$ docker run --name solr1 --link zookeeper:ZK -d -p 8983:8983 \
|
|
solr \
|
|
bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT'
|
|
|
|
$ docker run --name solr2 --link zookeeper:ZK -d -p 8984:8983 \
|
|
solr \
|
|
bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT'
|
|
```
|
|
|
|
Create a collection:
|
|
|
|
```console
|
|
$ docker exec -i -t solr1 /opt/solr/bin/solr create_collection \
|
|
-c collection1 -shards 2 -p 8983
|
|
```
|
|
|
|
Then go to `http://localhost:8983/solr/#/~cloud` (adjust the hostname for your docker host) to see the two shards and Solr nodes.
|
|
|
|
# About this repository
|
|
|
|
This repository is available on [github.com/docker-solr/docker-solr](https://github.com/docker-solr/docker-solr), and the official build is on the [Docker Hub](https://hub.docker.com/_/solr/).
|
|
|
|
This repository is based on (and replaces) `makuk66/docker-solr`, and has been sponsored by [Lucidworks](http://www.lucidworks.com/).
|