|
15 | 15 | limitations under the License.
|
16 | 16 | -->
|
17 | 17 |
|
18 |
| -# Apache Solr |
| 18 | +# Welcome to the Apache Solr project! |
| 19 | +----------------------------------- |
19 | 20 |
|
20 |
| -Apache Solr is an enterprise search platform written in Java and using [Apache Lucene](https://lucene.apache.org/). |
21 |
| -Major features include full-text search, index replication and sharding, and |
22 |
| -result faceting and highlighting. |
| 21 | +Solr is the popular, blazing fast open source search platform for all your |
| 22 | +enterprise, e-commerce, and analytics needs, built on [Apache Lucene](https://lucene.apache.org/). |
23 | 23 |
|
| 24 | +For a complete description of the Solr project, team composition, source |
| 25 | +code repositories, and other details, please see the Solr web site at |
| 26 | +https://solr.apache.org/solr |
24 | 27 |
|
25 |
| -[](https://ci-builds.apache.org/job/Solr/job/Solr-Artifacts-main/) |
| 28 | +## Download |
26 | 29 |
|
27 |
| - |
28 |
| -## Online Documentation |
29 |
| - |
30 |
| -This README file only contains basic setup instructions. For more |
31 |
| -comprehensive documentation, visit <https://solr.apache.org/guide/solr> |
32 |
| - |
33 |
| -## Building with Gradle |
34 |
| - |
35 |
| -Firstly, you need to set up your development environment (OpenJDK 11 or greater). |
36 |
| - |
37 |
| -We'll assume that you know how to get and set up the JDK - if you |
38 |
| -don't, then we suggest starting at https://jdk.java.net/ and learning |
39 |
| -more about Java, before returning to this README. Solr runs with |
40 |
| -Java 11 and later. |
41 |
| - |
42 |
| -As of 9.0, Solr uses [Gradle](https://gradle.org/) as the build |
43 |
| -system. Ant build support has been removed. |
44 |
| - |
45 |
| -To build Solr, run (`./` can be omitted on Windows): |
46 |
| - |
47 |
| -`./gradlew assemble` |
48 |
| - |
49 |
| -NOTE: DO NOT use `gradle` command that is already installed on your machine (unless you know what you'll do). |
50 |
| -The "gradle wrapper" (gradlew) does the job - downloads the correct version of it, setups necessary configurations. |
51 |
| - |
52 |
| -The first time you run Gradle, it will create a file "gradle.properties" that |
53 |
| -contains machine-specific settings. Normally you can use this file as-is, but it |
54 |
| -can be modified if necessary. |
55 |
| - |
56 |
| -The command above packages a full distribution of Solr server; the |
57 |
| -package can be located at: |
58 |
| - |
59 |
| -`solr/packaging/build/solr-*` |
60 |
| - |
61 |
| -Note that the gradle build does not create or copy binaries throughout the |
62 |
| -source repository so you need to switch to the packaging output folder above; |
63 |
| -the rest of the instructions below remain identical. The packaging directory |
64 |
| -is rewritten on each build. |
65 |
| - |
66 |
| -For development, especially when you have created test indexes etc, use |
67 |
| -the `./gradlew dev` task which will copy binaries to `./solr/packaging/build/dev` |
68 |
| -but _only_ overwrite the binaries which will preserve your test setup. |
69 |
| - |
70 |
| -If you want to build the documentation, type `./gradlew -p solr documentation`. |
| 30 | +Downloads for Apache Solr distributions are available at https://solr.apache.org/downloads.html. |
71 | 31 |
|
72 | 32 | ## Running Solr
|
73 | 33 |
|
74 |
| -After building Solr, the server can be started using |
75 |
| -the `bin/solr` control scripts. Solr can be run in either standalone or |
76 |
| -clustered (SolrCloud mode). |
77 |
| - |
78 |
| -To run Solr in standalone mode, run the following command from the `solr/` |
79 |
| -directory: |
| 34 | +### Installing Solr |
80 | 35 |
|
81 |
| -`bin/solr start` |
82 |
| - |
83 |
| -To run Solr in clustered mode, run the following command from the `solr/` |
84 |
| -directory: |
85 |
| - |
86 |
| -`bin/solr start -c` |
87 |
| - |
88 |
| -The `bin/solr` control script allows heavy modification of the started Solr. |
89 |
| -Common options are described in some detail in solr/README.txt. For an |
90 |
| -exhaustive treatment of options, run `bin/solr start -h` from the `solr/` |
91 |
| -directory. |
| 36 | +The Reference Guide contains an entire [Deployment Guide](https://solr.apache.org/guide/solr/latest/deployment-guide/system-requirements.html) to walk you through installing Solr. |
92 | 37 |
|
93 | 38 | ### Running Solr in Docker
|
94 | 39 |
|
95 | 40 | You can run Solr in Docker via the [official image](https://hub.docker.com/_/solr).
|
96 |
| - |
97 |
| -To run Solr in a container and expose the Solr port, run: |
98 |
| - |
99 |
| -`docker run -p 8983:8983 solr` |
100 |
| - |
101 |
| -In order to start Solr in clustered mode, run the following. |
102 |
| - |
103 |
| -`docker run -p 8983:8983 solr solr-fg -c` |
104 |
| - |
105 |
| -For documentation on using the official docker builds, please refer to the [DockerHub page](https://hub.docker.com/_/solr). |
106 |
| -Up to date documentation for running locally built images of this branch can be found in the [local reference guide](solr/solr-ref-guide/modules/deployment-guide/pages/solr-in-docker.adoc). |
107 |
| - |
108 |
| -There is also a gradle task for building custom Solr images from your local checkout. |
109 |
| -These local images are built identically to the official image except for retrieving the Solr artifacts locally instead of from the official release. |
110 |
| -This can be useful for testing out local changes as well as creating custom images for yourself or your organization. |
111 |
| -The task will output the image name to use at the end of the build. |
112 |
| - |
113 |
| -`./gradlew docker` |
114 |
| - |
115 |
| -For more info on building an image, run: |
116 |
| - |
117 |
| -`./gradlew helpDocker` |
118 |
| - |
119 |
| -Docker images can also be built from the Solr binary distribution (i.e. `solr-<version>.tgz`). |
120 |
| -Please refer to the [Solr Docker README](solr/docker/README.md) for more information. |
| 41 | +Learn more about [Solr in Docker](https://solr.apache.org/guide/solr/latest/deployment-guide/solr-in-docker.html) |
121 | 42 |
|
122 | 43 | ### Running Solr on Kubernetes
|
123 | 44 |
|
124 | 45 | Solr has official support for running on Kubernetes, in the official Docker image.
|
125 | 46 | Please refer to the [Solr Operator](https://solr.apache.org/operator) home for details, tutorials and instructions.
|
126 | 47 |
|
127 |
| -### Gradle build and IDE support |
| 48 | +## How to Use |
| 49 | + |
| 50 | +Solr includes a few examples to help you get started. To run a specific example, enter: |
128 | 51 |
|
129 |
| -- *IntelliJ* - IntelliJ idea can import the project out of the box. |
130 |
| - Code formatting conventions should be manually adjusted. |
131 |
| -- *Eclipse* - Not tested. |
132 |
| -- *Netbeans* - Not tested. |
| 52 | +``` |
| 53 | + bin/solr start -e <EXAMPLE> where <EXAMPLE> is one of: |
| 54 | + cloud: SolrCloud example |
| 55 | + techproducts: Comprehensive example illustrating many of Solr's core capabilities |
| 56 | + schemaless: Schema-less example (schema is inferred from data during indexing) |
| 57 | + films: Example of starting with _default configset and adding explicit fields dynamically |
| 58 | +``` |
133 | 59 |
|
| 60 | +For instance, if you want to run the techproducts example, enter: |
134 | 61 |
|
135 |
| -### Gradle build and tests |
| 62 | +``` |
| 63 | + bin/solr start -e techproducts |
| 64 | +``` |
136 | 65 |
|
137 |
| -`./gradlew assemble` will build a runnable Solr as noted above. |
| 66 | +For a more in-depth introduction, please check out the [tutorials in the Solr Reference |
| 67 | +Guide](https://solr.apache.org/guide/solr/latest/getting-started/solr-tutorial.html). |
138 | 68 |
|
139 |
| -`./gradlew check` will assemble Solr and run all validation |
140 |
| - tasks unit tests. |
141 | 69 |
|
142 |
| -`./gradlew help` will print a list of help commands for high-level tasks. One |
143 |
| - of these is `helpAnt` that shows the gradle tasks corresponding to ant |
144 |
| - targets you may be familiar with. |
| 70 | +## Support |
145 | 71 |
|
146 |
| -## Contributing |
| 72 | +- [Users Mailing List](https://solr.apache.org/community.html#mailing-lists-chat) |
| 73 | +- Slack: Solr Community Channel. Sign up at https://s.apache.org/solr-slack |
| 74 | +- IRC: `#solr` on [libera.chat](https://web.libera.chat/?channels=#solr) |
147 | 75 |
|
148 |
| -Please review the [Contributing to Solr |
149 |
| -Guide](https://cwiki.apache.org/confluence/display/solr/HowToContribute) for information on |
150 |
| -contributing. |
151 | 76 |
|
152 |
| -## Discussion and Support |
| 77 | +## Get Involved |
| 78 | +Please review the [Contributing to Solr Guide](https://cwiki.apache.org/confluence/display/solr/HowToContribute) |
| 79 | +for information on contributing. |
| 80 | + |
| 81 | +To get involved in the developer community: |
153 | 82 |
|
154 | 83 | - [Mailing Lists](https://solr.apache.org/community.html#mailing-lists-chat)
|
| 84 | +- Slack: `#solr-dev` in the `the-asf` organization. Sign up at https://the-asf.slack.com/messages/CE70MDPMF |
155 | 85 | - [Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/SOLR)
|
156 |
| -- IRC: `#solr` and `#solr-dev` on libera.chat |
157 |
| -- [Slack](https://solr.apache.org/community.html#slack) |
| 86 | +- IRC: `#solr-dev` on [libera.chat](https://web.libera.chat/?channels=#solr-dev) |
| 87 | + |
| 88 | +Learn more about developing Solr by reading through the developer docs in [./dev-docs](./dev-docs) source tree. |
0 commit comments