2017-06-27 18:04:15 -04:00
|
|
|
<!--
|
|
|
|
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.
|
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
the "License"); you may not use this file except in compliance with
|
|
|
|
the License. You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
|
|
|
|
|
|
|
# Apache Lucene and Solr
|
|
|
|
|
|
|
|
Apache Lucene is a high-performance, full featured text search engine library
|
|
|
|
written in Java.
|
|
|
|
|
2020-08-28 09:31:16 -04:00
|
|
|
Apache Solr is an enterprise search platform written in Java and using Apache Lucene.
|
2017-06-27 18:04:15 -04:00
|
|
|
Major features include full-text search, index replication and sharding, and
|
|
|
|
result faceting and highlighting.
|
|
|
|
|
2019-06-29 08:01:54 -04:00
|
|
|
|
2020-08-06 12:33:15 -04:00
|
|
|
[![Build Status](https://ci-builds.apache.org/job/Lucene/job/Lucene-Artifacts-master/badge/icon?subject=Lucene)](https://ci-builds.apache.org/job/Lucene/job/Lucene-Artifacts-master/) [![Build Status](https://ci-builds.apache.org/job/Lucene/job/Solr-Artifacts-master/badge/icon?subject=Solr)](https://ci-builds.apache.org/job/Lucene/job/Solr-Artifacts-master/)
|
2019-06-29 08:01:54 -04:00
|
|
|
|
|
|
|
|
2017-06-27 18:04:15 -04:00
|
|
|
## Online Documentation
|
|
|
|
|
|
|
|
This README file only contains basic setup instructions. For more
|
|
|
|
comprehensive documentation, visit:
|
|
|
|
|
|
|
|
- Lucene: <http://lucene.apache.org/core/documentation.html>
|
|
|
|
- Solr: <http://lucene.apache.org/solr/guide/>
|
|
|
|
|
|
|
|
## Building Lucene/Solr
|
|
|
|
|
2019-09-14 16:12:12 -04:00
|
|
|
(You do not need to do this if you downloaded a pre-built package)
|
2017-06-27 18:04:15 -04:00
|
|
|
|
|
|
|
|
2020-01-09 06:36:40 -05:00
|
|
|
### Building with Gradle
|
|
|
|
|
2020-08-28 09:31:16 -04:00
|
|
|
As of 9.0, Lucene/Solr uses [Gradle](https://gradle.org/) as the build
|
|
|
|
system. Ant build support has been removed.
|
2020-01-09 06:36:40 -05:00
|
|
|
|
|
|
|
To build Lucene and Solr, run (`./` can be omitted on Windows):
|
|
|
|
|
|
|
|
`./gradlew assemble`
|
|
|
|
|
2020-08-28 09:31:16 -04:00
|
|
|
|
|
|
|
The command above packages a full distribution of Solr server; the
|
2020-01-09 06:36:40 -05:00
|
|
|
package can be located at:
|
|
|
|
|
|
|
|
`solr/packaging/build/solr-*`
|
|
|
|
|
|
|
|
Note that the gradle build does not create or copy binaries throughout the
|
2020-08-28 09:31:16 -04:00
|
|
|
source repository so you need to switch to the packaging output folder above;
|
|
|
|
the rest of the instructions below remain identical. The packaging directory
|
|
|
|
is rewritten on each build.
|
|
|
|
|
|
|
|
For development, especially when you have created test indexes etc, use
|
|
|
|
the `./gradlew dev` task which will copy binaries to `./solr/packaging/build/dev`
|
|
|
|
but _only_ overwrite the binaries which will preserve your test setup.
|
2020-01-09 06:36:40 -05:00
|
|
|
|
2017-06-27 18:04:15 -04:00
|
|
|
## Running Solr
|
|
|
|
|
|
|
|
After [building Solr](#building-lucene-solr), the server can be started using
|
|
|
|
the `bin/solr` control scripts. Solr can be run in either standalone or
|
|
|
|
distributed (SolrCloud mode).
|
|
|
|
|
|
|
|
To run Solr in standalone mode, run the following command from the `solr/`
|
|
|
|
directory:
|
|
|
|
|
|
|
|
`bin/solr start`
|
|
|
|
|
|
|
|
To run Solr in SolrCloud mode, run the following command from the `solr/`
|
|
|
|
directory:
|
|
|
|
|
|
|
|
`bin/solr start -c`
|
|
|
|
|
|
|
|
The `bin/solr` control script allows heavy modification of the started Solr.
|
|
|
|
Common options are described in some detail in solr/README.txt. For an
|
|
|
|
exhaustive treatment of options, run `bin/solr start -h` from the `solr/`
|
|
|
|
directory.
|
|
|
|
|
2020-01-09 06:36:40 -05:00
|
|
|
### Gradle build and IDE support
|
|
|
|
|
|
|
|
- *IntelliJ* - IntelliJ idea can import the project out of the box.
|
|
|
|
Code formatting conventions should be manually adjusted.
|
|
|
|
- *Eclipse* - Not tested.
|
|
|
|
- *Netbeans* - Not tested.
|
2017-06-27 18:04:15 -04:00
|
|
|
|
2020-08-21 16:57:26 -04:00
|
|
|
|
|
|
|
### Gradle build and tests
|
2020-08-21 15:19:52 -04:00
|
|
|
|
2020-08-28 09:31:16 -04:00
|
|
|
`./gradlew assemble` will build a runnable Solr as noted above.
|
|
|
|
|
|
|
|
`./gradlew check` will assemble Lucene/Solr and run all validation
|
|
|
|
tasks unit tests.
|
2020-01-09 06:36:40 -05:00
|
|
|
|
2020-08-28 09:31:16 -04:00
|
|
|
`./gradlew help` will print a list of help commands for high-level tasks. One
|
|
|
|
of these is `helpAnt` that shows the gradle tasks corresponding to ant
|
|
|
|
targets you may be familiar with.
|
2020-01-09 06:36:40 -05:00
|
|
|
|
2017-06-27 18:04:15 -04:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
Please review the [Contributing to Solr
|
2019-07-20 09:01:48 -04:00
|
|
|
Guide](https://cwiki.apache.org/confluence/display/solr/HowToContribute) for information on
|
2017-06-27 18:04:15 -04:00
|
|
|
contributing.
|
|
|
|
|
|
|
|
## Discussion and Support
|
|
|
|
|
|
|
|
- [Users Mailing List](http://lucene.apache.org/solr/community.html#solr-user-list-solr-userluceneapacheorg)
|
|
|
|
- [Developers Mailing List](http://lucene.apache.org/solr/community.html#developer-list-devluceneapacheorg)
|
|
|
|
- [Lucene Issue Tracker](https://issues.apache.org/jira/browse/LUCENE)
|
|
|
|
- [Solr Issue Tracker](https://issues.apache.org/jira/browse/SOLR)
|
|
|
|
- IRC: `#solr` and `#solr-dev` on freenode.net
|