Free and Open, Distributed, RESTful Search Engine
Find a file
Przemyslaw Gomulka bc4c6784dd
Stable Plugin API modules and analysis interfaces (#88775)
This commit adds stable analysis plugin API with analysis components interfaces and annotations.
It does not contain any usage of it yet. Separate changes to introduce example plugins or refactoring to existing ones will follow later.

It contains two gradle modules. One plugin-api with two annotations Nameable and NamedComponent, which can be reused for plugins other than analysis.
And second analysis-plugin-api which contains analysis components (TokenFilterFactory, CharFilterFactory etc)

NamedComponent - used by plugin developer - indicates that a Nameable component will be registered under a given name.
Nameable - for analysis plugins it is only used by the stable analysis api designers (ES) - indicates that component have a name and should be declared with NamedComponent

additional tasks that will follow: #88980
2022-08-30 11:04:39 +02:00
.ci Bump versions after 7.17.6 release 2022-08-24 08:51:55 -07:00
.github Auto-generate preview links for DOC PRs (#89670) 2022-08-26 12:56:05 -07:00
.idea Stop versioning Checkstyle IDE config (#87285) 2022-06-02 08:58:11 +01:00
benchmarks Synthetic source error on script loads (#88334) 2022-08-26 11:32:53 -07:00
build-conventions Add Checkstyle rule for broken switch cases (#88739) 2022-07-27 09:22:06 +01:00
build-tools Better support for multiple nodes via ./gradlew run (#89563) 2022-08-29 17:26:38 -05:00
build-tools-internal Better support for multiple nodes via ./gradlew run (#89563) 2022-08-29 17:26:38 -05:00
ccr/images [DOCS] Update remote cluster docs (#77043) 2021-09-22 16:02:33 -04:00
client Upgrade Apache Commons Logging to 1.2 (#85745) 2022-08-10 13:19:15 -04:00
dev-tools Add convenience script for pruning old dev branch CI jobs 2022-08-24 09:59:38 -07:00
distribution Ensure APM module is always installed in release test clusters (#89223) 2022-08-10 09:04:40 -07:00
docs Stable Plugin API modules and analysis interfaces (#88775) 2022-08-30 11:04:39 +02:00
gradle Upgrade to lucene-9.4.0-snapshot-923a9f800ae (#89427) 2022-08-29 09:10:47 -04:00
libs Stable Plugin API modules and analysis interfaces (#88775) 2022-08-30 11:04:39 +02:00
licenses Keep low level rest client under Apache 2 software license (#68694) 2021-02-08 11:13:31 -08:00
modules Synthetic source error on script loads (#88334) 2022-08-26 11:32:53 -07:00
plugins Upgrade Apache Commons Logging to 1.2 (#85745) 2022-08-10 13:19:15 -04:00
qa Support camel case dates on 7.x indices (#88914) 2022-08-16 15:57:59 -04:00
rest-api-spec Paranoid tests for meta (#89677) 2022-08-29 11:38:43 -04:00
server Improve RandomSamplerIT reliability (#89669) 2022-08-30 09:42:11 +01:00
test Synthetic source error on script loads (#88334) 2022-08-26 11:32:53 -07:00
x-pack Rollup: mv Set.union to outer method (#89491) 2022-08-30 09:28:20 +03:00
.backportrc.json Ensure order of precedence in matching main branch in backports 2022-07-27 13:09:28 -07:00
.dir-locals.el Go back to 140 column limit in .dir-locals.el 2017-04-14 08:50:53 -06:00
.editorconfig SQL: Fix FORMAT function to better comply with Microsoft SQL Server specification (#86225) 2022-05-18 12:03:00 +02:00
.git-blame-ignore-revs Fix typo in instructions for ignore-revs (#80058) 2021-11-04 12:10:55 +11:00
.gitattributes Assert no carriage returns in release notes test samples (#77238) 2021-09-07 20:45:23 +01:00
.gitignore Stop versioning Checkstyle IDE config (#87285) 2022-06-02 08:58:11 +01:00
build.gradle Better support for multi cluster for run task (#89442) 2022-08-18 12:54:03 -05:00
BUILDING.md Add verification metadata for dependencies (#88814) 2022-08-04 09:51:16 +02:00
CHANGELOG.md In the field capabilities API, re-add support for fields in the request body (#88972) 2022-08-04 13:44:50 -04:00
CONTRIBUTING.md Update references to master branch in developer documentation 2022-07-25 10:59:08 -07:00
gradle.properties Add verification metadata for dependencies (#88814) 2022-08-04 09:51:16 +02:00
gradlew Update to to Gradle wrapper 7.5 (#85141) 2022-07-19 08:12:19 +02:00
gradlew.bat Update to to Gradle wrapper 7.5 (#85141) 2022-07-19 08:12:19 +02:00
LICENSE.txt Update sources with new SSPL+Elastic-2.0 license headers 2021-02-02 16:10:53 -08:00
NOTICE.txt Remove Joda dependency (#79007) 2021-10-13 17:37:31 -07:00
README.asciidoc [DOCS] Refactor quick start guide and README (#71331) 2021-04-20 09:32:21 -04:00
REST_API_COMPATIBILITY.md Update references to master branch in developer documentation 2022-07-25 10:59:08 -07:00
settings.gradle Remove duplicate definition of checkstyle version in use (#88339) 2022-07-15 19:31:50 +02:00
TESTING.asciidoc Better support for multiple nodes via ./gradlew run (#89563) 2022-08-29 17:26:38 -05:00
TRACING.md Fix typo in TRACING.md 2022-08-08 09:28:44 +01:00
Vagrantfile Introduce ES_JAVA_HOME (#68954) 2021-02-17 12:41:23 -05:00

= Elasticsearch

Elasticsearch is the distributed, RESTful search and analytics engine at the
heart of the https://www.elastic.co/products[Elastic Stack]. You can use
Elasticsearch to store, search, and manage data for:

* Logs
* Metrics
* A search backend
* Application monitoring
* Endpoint security

\... and more!

To learn more about Elasticsearch's features and capabilities, see our
https://www.elastic.co/products/elasticsearch[product page].

[[get-started]]
== Get started

The simplest way to set up Elasticsearch is to create a managed deployment with
https://www.elastic.co/cloud/as-a-service[Elasticsearch Service on Elastic
Cloud].

If you prefer to install and manage Elasticsearch yourself, you can download
the latest version from 
https://www.elastic.co/downloads/elasticsearch[elastic.co/downloads/elasticsearch].

For more installation options, see the
https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html[Elasticsearch installation
documentation].

[[upgrade]]
== Upgrade

To upgrade from an earlier version of Elasticsearch, see the
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html[Elasticsearch upgrade
documentation].

[[build-source]]
== Build from source

Elasticsearch uses https://gradle.org[Gradle] for its build system.

To build a distribution for your local OS and print its output location upon
completion, run:
----
./gradlew localDistro
----

To build a distribution for another platform, run the related command:
----
./gradlew :distribution:archives:linux-tar:assemble
./gradlew :distribution:archives:darwin-tar:assemble
./gradlew :distribution:archives:windows-zip:assemble
----

To build distributions for all supported platforms, run:
----
./gradlew assemble
----

Distributions are output to `distributions/archives`.

To run the test suite, see xref:TESTING.asciidoc[TESTING].

[[docs]]
== Documentation

For the complete Elasticsearch documentation visit
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html[elastic.co].

For information about our documentation processes, see the
xref:docs/README.asciidoc[docs README].

[[contribute]]
== Contribute

For contribution guidelines, see xref:CONTRIBUTING.md[CONTRIBUTING]. 

[[questions]]
== Questions? Problems? Suggestions?

* To report a bug or request a feature, create a
https://github.com/elastic/elasticsearch/issues/new/choose[GitHub Issue]. Please
ensure someone else hasn't created an issue for the same topic.

* Need help using Elasticsearch? Reach out on the
https://discuss.elastic.co[Elastic Forum] or https://ela.st/slack[Slack]. A
fellow community member or Elastic engineer will be happy to help you out.