Separate clients, data prepper, and benchmark documentation (#5878)

* Separate clients, data prepper, and benchmark documentation

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Flexbox card positioning

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Change flex basis

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Add links to home page

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Change card layout to grid

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Refactor section traversal

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Add json formatting

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Refactor home layout

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

* Link the top left nav header to main page and add items to top menu

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>

---------

Signed-off-by: Fanit Kolchina <kolchfa@amazon.com>
This commit is contained in:
kolchfa-aws 2024-01-03 15:48:59 -05:00 committed by GitHub
parent 9d613d46fe
commit ff0693991e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 490 additions and 173 deletions

View File

@ -2,7 +2,6 @@
layout: default
title: Breaking changes
nav_order: 5
parent: OpenSearch documentation
permalink: /breaking-changes/
---

83
_about/index.md Normal file
View File

@ -0,0 +1,83 @@
---
layout: default
title: Getting started
nav_order: 1
has_children: false
has_toc: false
nav_exclude: true
redirect_from:
- /docs/opensearch/
- /opensearch/
- /opensearch/index/
- /about/
---
{%- comment -%}The `/docs/opensearch/` redirect is specifically to support the UI links in OpenSearch Dashboards 1.0.0.{%- endcomment -%}
# OpenSearch and OpenSearch Dashboards
This section contains documentation for OpenSearch and OpenSearch Dashboards.
## Getting started
- [Intro to OpenSearch]({{site.url}}{{site.baseurl}}/about/intro/)
- [Quickstart]({{site.url}}{{site.baseurl}}/quickstart/)
- [Install OpenSearch]({{site.url}}{{site.baseurl}}/install-and-configure/install-opensearch/index/)
- [Install OpenSearch Dashboards]({{site.url}}{{site.baseurl}}/install-and-configure/install-dashboards/index/)
- [See the FAQ](https://opensearch.org/faq)
## Why use OpenSearch?
With OpenSearch, you can perform the following use cases:
<table style="table-layout: auto ; width: 100%;">
<tbody>
<tr style="text-align: center; vertical-align:center;">
<td><img src="{{site.url}}{{site.baseurl}}/images/1_search.png" class="no-border" alt="Fast, scalable full-text search" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/2_monitoring.png" class="no-border" alt="Application and infrastructure monitoring" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/3_security.png" class="no-border" alt="Security and event information management" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/4_tracking.png" class="no-border" alt="Operational health tracking" height="100"/></td>
</tr>
<tr style="text-align: left; vertical-align:top; font-weight: bold; color: rgb(0,59,92)">
<td>Fast, Scalable Full-text Search</td>
<td>Application and Infrastructure Monitoring</td>
<td>Security and Event Information Management</td>
<td>Operational Health Tracking</td>
</tr>
<tr style="text-align: left; vertical-align:top;">
<td>Help users find the right information within your application, website, or data lake catalog. </td>
<td>Easily store and analyze log data, and set automated alerts for underperformance.</td>
<td>Centralize logs to enable real-time security monitoring and forensic analysis.</td>
<td>Use observability logs, metrics, and traces to monitor your applications and business in real time.</td>
</tr>
</tbody>
</table>
**Additional features and plugins:**
OpenSearch has several features and plugins to help index, secure, monitor, and analyze your data. Most OpenSearch plugins have corresponding OpenSearch Dashboards plugins that provide a convenient, unified user interface.
- [Anomaly detection]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/) - Identify atypical data and receive automatic notifications
- [KNN]({{site.url}}{{site.baseurl}}/search-plugins/knn/) - Find “nearest neighbors” in your vector data
- [Performance Analyzer]({{site.url}}{{site.baseurl}}/monitoring-plugins/pa/) - Monitor and optimize your cluster
- [SQL]({{site.url}}{{site.baseurl}}/search-plugins/sql/index/) - Use SQL or a piped processing language to query your data
- [Index State Management]({{site.url}}{{site.baseurl}}/im-plugin/) - Automate index operations
- [ML Commons plugin]({{site.url}}{{site.baseurl}}/ml-commons-plugin/index/) - Train and execute machine-learning models
- [Asynchronous search]({{site.url}}{{site.baseurl}}/search-plugins/async/) - Run search requests in the background
- [Cross-cluster replication]({{site.url}}{{site.baseurl}}/replication-plugin/index/) - Replicate your data across multiple OpenSearch clusters
## The secure path forward
OpenSearch includes a demo configuration so that you can get up and running quickly, but before using OpenSearch in a production environment, you must [configure the Security plugin manually]({{site.url}}{{site.baseurl}}/security/configuration/index/) with your own certificates, authentication method, users, and passwords.
## Looking for the Javadoc?
See [opensearch.org/javadocs/](https://opensearch.org/javadocs/).
## Get involved
[OpenSearch](https://opensearch.org) is supported by Amazon Web Services. All components are available under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) on [GitHub](https://github.com/opensearch-project/).
The project welcomes GitHub issues, bug fixes, features, plugins, documentation---anything at all. To get involved, see [Contributing](https://opensearch.org/source.html) on the OpenSearch website.
---
<small>OpenSearch includes certain Apache-licensed Elasticsearch code from Elasticsearch B.V. and other source code. Elasticsearch B.V. is not the source of that other source code. ELASTICSEARCH is a registered trademark of Elasticsearch B.V.</small>

View File

@ -1,16 +1,9 @@
---
layout: default
title: About OpenSearch
title: Intro to OpenSearch
nav_order: 2
parent: OpenSearch documentation
redirect_from:
- /docs/opensearch/
- /opensearch/
- /opensearch/index/
---
{%- comment -%}The `/docs/opensearch/` redirect is specifically to support the UI links in OpenSearch Dashboards 1.0.0.{%- endcomment -%}
# Introduction to OpenSearch
OpenSearch is a distributed search and analytics engine based on [Apache Lucene](https://lucene.apache.org/). After adding your data to OpenSearch, you can perform full-text searches on it with all of the features you might expect: search by field, search multiple indexes, boost fields, rank results by score, sort results by field, and aggregate results.
@ -83,13 +76,13 @@ PUT https://<host>:<port>/<index-name>/_doc/<document-id>
To run a search for the document:
```
```json
GET https://<host>:<port>/<index-name>/_search?q=wind
```
To delete the document:
```
```json
DELETE https://<host>:<port>/<index-name>/_doc/<document-id>
```

View File

@ -1,10 +1,10 @@
---
layout: default
title: Quickstart
parent: OpenSearch documentation
nav_order: 3
redirect_from:
- /opensearch/install/quickstart/
- /quickstart/
---
# Quickstart

View File

@ -2,7 +2,6 @@
layout: default
title: Version history
nav_order: 4
parent: OpenSearch documentation
permalink: /version-history/
---

View File

@ -5,6 +5,8 @@ nav_order: 1
has_children: false
nav_exclude: true
has_toc: false
redirect_from:
- /benchmark/
---
# OpenSearch Benchmark

View File

@ -1,4 +1,4 @@
title: OpenSearch documentation
title: OpenSearch Documentation
description: >- # this means to ignore newlines until "baseurl:"
Documentation for OpenSearch, the Apache 2.0 search, analytics, and visualization suite with advanced security, alerting, SQL support, automated index management, deep performance analysis, and more.
baseurl: "/docs/latest" # the subpath of your site, e.g. /blog
@ -109,10 +109,16 @@ collections:
developer-documentation:
permalink: /:collection/:path/
output: true
about:
permalink: /:collection/:path/
output: true
just_the_docs:
opensearch_collection:
# Define the collections used in the theme
collections:
about:
name: About OpenSearch
nav_fold: true
install-and-configure:
name: Install and upgrade
nav_fold: true
@ -169,15 +175,6 @@ just_the_docs:
reporting:
name: Reporting
nav_fold: true
clients:
name: Clients
nav_fold: true
benchmark:
name: OpenSearch Benchmark
nav_fold: true
data-prepper:
name: Data Prepper
nav_fold: true
tools:
name: Tools
nav_fold: true
@ -191,6 +188,51 @@ just_the_docs:
name: Developer documentation
nav_fold: true
clients_collection:
collections:
clients:
name: Clients
nav_fold: true
benchmark_collection:
collections:
benchmark:
name: OpenSearch Benchmark
nav_fold: true
data_prepper_collection:
collections:
data-prepper:
name: Data Prepper
nav_fold: true
# Defaults
defaults:
-
scope:
path: "" # an empty string here means all files in the project
values:
section: "opensearch"
section-name: "OpenSearch and OpenSearch Dashboards"
-
scope:
path: "_data-prepper"
values:
section: "data-prepper"
section-name: "Data Prepper"
-
scope:
path: "_clients"
values:
section: "clients"
section-name: "Clients"
-
scope:
path: "_benchmark"
values:
section: "benchmark"
section-name: "Benchmark"
# Enable or disable the site search
# By default, just-the-docs enables its JSON file-based search. We also have an OpenSearch-driven search functionality.

View File

@ -84,8 +84,26 @@ items:
url: /community_projects
-
label: Documentation
fragment: docs
url: /docs/
fragments:
- docs
- opensearch
- data-prepper
- clients
- benchmark
url: /docs/latest/
children:
-
label: OpenSearch and Dashboards
url: /docs/latest/about/
-
label: Data Prepper
url: /docs/latest/data-prepper/
-
label: Clients
url: /docs/latest/clients/
-
label: Benchmark
url: /docs/latest/benchmark/
-
label: Platform
url: /platform/index.html

View File

@ -168,7 +168,7 @@ Parameter | Description | Type | Required
}
```
For information about setting replicas, see [Primary and replica shards]({{site.url}}{{site.baseurl}}/opensearch#primary-and-replica-shards).
For information about setting replicas, see [Primary and replica shards]({{site.url}}{{site.baseurl}}/about/intro/#primary-and-replica-shards).
### shrink

View File

@ -1,5 +1,5 @@
<section class="os-banner">
<header class="banner-head" style="background-image: url('{{site.url}}{{site.baseurl}}/images/graphic-bg.png')">
<header class="banner-head">
<div class="banner-text-div">
<span class="banner-text-header">OpenSearch Documentation</span>
<p class="banner-text-description">Learn to use OpenSearch, the highly scalable and extensible open-source software suite for search, analytics, observability, and other data-intensive applications.</p>

37
_includes/cards.html Normal file
View File

@ -0,0 +1,37 @@
<div class="card-container-wrapper">
<p class="heading-main">Explore OpenSearch documentation</p>
<div class="card-container">
<div class="card">
<a href="{{site.url}}{{site.baseurl}}/about/" class='card-link'></a>
<p class="heading">OpenSearch and OpenSearch Dashboards</p>
<p class="description">Learn how to power up your search</p>
<button class="last-link">Documentation &#x2192;</button>
</div>
<div class="card">
<a href="{{site.url}}{{site.baseurl}}/data-prepper/" class='card-link'></a>
<p class="heading">Data Prepper</p>
<p class="description">Prepare your data for OpenSearch</p>
<button class="last-link" >Documentation &#x2192;</button>
</div>
<div class="card">
<a href="{{site.url}}{{site.baseurl}}/clients/" class='card-link'></a>
<p class="heading">Clients</p>
<p class="description">OpenSearch in your programming language</p>
<button class="last-link">Documentation &#x2192;</button>
</div>
<div class="card">
<a href="{{site.url}}{{site.baseurl}}/benchmark/" class='card-link'></a>
<p class="heading">Benchmark</p>
<p class="description">Track OpenSearch performance</p>
<button class="last-link">Documentation &#x2192;</button>
</div>
</div>
</div>

View File

@ -58,7 +58,17 @@ layout: table_wrappers
</div>
<nav role="navigation" aria-label="Main" id="site-nav" class="site-nav">
<div class="version-wrapper">
{% if page.section == "opensearch" %}
<a href="{{site.url}}{{site.baseurl}}/about/" class="site-category">{{ page.section-name }}</a>
{% else %}
<a href="{{site.url}}{{site.baseurl}}/{{ page.section}}/" class="site-category">{{ page.section-name }}</a>
{% endif %}
<a href="{{site.url}}{{site.baseurl}}/" class="back-link">&#x2190; Back to docs home</a>
{% if page.section == "opensearch" %}
<version-selector selected="{{ site.data.versions.current }}"></version-selector>
{% endif %}
</div>
{% assign pages_top_size = site.html_pages
| where_exp:"item", "item.title != nil"
@ -68,9 +78,20 @@ layout: table_wrappers
{% if pages_top_size > 0 %}
{% include nav.html pages=site.html_pages key=nil expanded=true %}
{% endif %}
{% if site.just_the_docs.collections %}
{% assign collections_size = site.just_the_docs.collections | size %}
{% for collection_entry in site.just_the_docs.collections %}
{% if page.section == "opensearch" %}
{% assign section = site.opensearch_collection.collections %}
{% elsif page.section == "data-prepper" %}
{% assign section = site.data_prepper_collection.collections %}
{% elsif page.section == "clients" %}
{% assign section = site.clients_collection.collections %}
{% elsif page.section == "benchmark" %}
{% assign section = site.benchmark_collection.collections %}
{% endif %}
{% if section %}
{% assign collections_size = section | size %}
{% for collection_entry in section %}
{% assign collection_key = collection_entry[0] %}
{% assign collection_value = collection_entry[1] %}
{% assign collection = site[collection_key] %}
@ -204,7 +225,7 @@ layout: table_wrappers
<div class="toc-wrap">
<div class="sticky-wrap">
<div class="toc">
{% include toc.html html=content h_min=2 h_max=2 class="toc-list" item_class="toc-item" sanitize=true %}
{% include toc.html html=content h_min=2 h_max=3 class="toc-list" item_class="toc-item" sanitize=true %}
</div>
{% include feedback.html %}
</div>

35
_layouts/home.html Normal file
View File

@ -0,0 +1,35 @@
---
layout: table_wrappers
---
<!DOCTYPE html>
<html lang="{{ site.lang | default: 'en-US' }}">
{% include head.html %}
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
</svg>
{% include header.html %}
<div class="main-content-wrap-home">
<div id="main-content" class="main-content" role="main">
{{ content }}
<a class="top-link" href="#top">
<svg viewBox="0 0 24 24"><use xlink:href="#svg-arrow-right"></use></svg>
</a>
</div>
</div>
{% include footer.html %}
</body>
</html>

185
_sass/_home.scss Normal file
View File

@ -0,0 +1,185 @@
@mixin gradient-open-sky {
background: linear-gradient(180deg, #E1FAFF 0%, #98E3F4 48.15%, #00B7E0 100%);
}
@mixin gradient-deep-blue-sea {
background: linear-gradient(180deg, #016BA7 0%, #011C2D 97.92%);
}
@mixin thick-edge-left {
border-left: $blue-200 10px solid;
}
* {
box-sizing: border-box;
}
.main-content-wrap-home {
width: 100%;
background-color: $grey-lt-000;
padding: 3rem 4rem;
}
// Card style
.card-container-wrapper {
@include gradient-open-sky;
}
.card-container {
display: grid;
grid-template-columns: 1fr;
margin: 0 auto;
padding: 2rem;
grid-row-gap: 1rem;
grid-column-gap: 1rem;
grid-auto-rows: 1fr;
@include mq(md) {
grid-template-columns: repeat(2, 1fr);
}
@include mq(xl) {
grid-template-columns: repeat(4, 1fr);
}
}
.card {
@extend .panel;
@include thick-edge-left;
padding: 1rem;
margin-bottom: 4rem;
text-align: left;
background-color: white;
display: flex;
flex-direction: column;
position: relative;
&:hover {
transition: all 0.25s ease;
box-shadow:2px 3px 5px #94A1A8;
color: $blue-200;
transform: scale(1.02);
> .heading {
color: $blue-vibrant-300;
}
> .last-link {
transform: translateY(-1px);
text-decoration: underline;
text-underline-offset: 3px;
}
}
}
@mixin heading-font {
@include heading-sans-serif;
font-size: 1.5rem;
font-weight: 700;
color: $blue-dk-300;
}
.heading {
@include heading-font;
flex-grow: 1;
flex-basis: 1rem;
margin: 1rem 0 1.5rem 0;
}
.heading-main {
@include heading-font;
margin: 0;
padding: 3rem 0 0 2rem;
}
.description {
margin-top: auto;
}
.last-link {
height: 24px;
margin-top: auto;
margin-bottom: 1rem;
padding: 0;
background-color: white;
border: none;
color: $blue-200;
text-align: left;
}
.card-link {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
}
// Banner style
.os-banner {
@extend .panel;
@include gradient-deep-blue-sea;
display: flex;
flex-direction: column;
justify-content: space-between;
color: white;
margin-bottom: 2rem;
@include mq(md) {
margin-bottom: 4rem;
}
}
.banner-head {
@extend .panel;
background-size: cover;
}
.banner-text-div {
margin: 1rem 1rem 0 1.5rem;
padding: 0 1.5rem;
border-style: none none none solid;
border-color: $blue-lt-300;
border-width: 4px;
border-radius: 1px;
max-width: 47rem;
@include mq(md) {
margin: 2rem 4rem 0 4rem;
}
}
.banner-text-header {
font-size: 2.3rem;
font-family: "Open Sans";
font-weight: 300;
@include mq(md) {
font-size: 3.2rem;
}
}
.banner-text-description {
font-size: 1.3rem;
font-weight: 700;
font-style: normal;
line-height: 2.25rem;
@include mq(md) {
font-size: 1rem;
}
}
.btn-contribute {
@extend .btn-general;
margin-bottom: 2rem;
margin-right: 4rem;
padding: 1rem 2rem;
float: right;
color: $blue-dk-300;
font-size: 1.13rem;
box-shadow: 2px 3px 5px #000000;
&:hover {
box-shadow: 2px 3px 5px $blue-dk-300 !important;
}
}
.btn-contribute span {
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}

View File

@ -52,6 +52,18 @@ $red-100: #DD4A69;
$red-200: #AC3952;
$red-300: #7B293B;
$light-theme-navigation-background: #F1FBFF;
$primary-deep-blue-sea-s3: #001E30;
$primary-deep-blue-sea-t1: #2C5E7A;
$primary-open-sky: #00A3E0;
$primary-open-sky-s3: #003551;
$primary-open-sky-s2: #006D97;
$primary-open-sky-t1: #4FB3E3;
$primary-open-sky-t2: #9BCFED;
$primary-open-sky-t3: #E1F0F9;
$primary-pacific-sky-t2: #DCEBF4;
$primary-pacific-sky-t3: #F4F8FB;
$body-background-color: $white;
$sidebar-color: $grey-lt-000;
$code-background-color: $grey-lt-000;

View File

@ -435,67 +435,9 @@ p.label {
}
}
.os-banner {
@extend .panel;
display: flex;
flex-direction: column;
justify-content: space-between;
color: white;
background: linear-gradient(to right, $blue-dk-300, $blue-dk-200 80%); // fallback if image is not rendered
}
.banner-head {
@extend .panel;
background-size: cover;
}
.banner-text-div {
margin: 1rem 1rem 0 1.5rem;
padding: 0 1.5rem;
border-style: none none none solid;
border-color: $blue-lt-300;
border-width: 4px;
border-radius: 1px;
max-width: 47rem;
@include mq(sm) {
margin: 2rem 4rem 0 4rem;
}
}
.banner-text-header {
font-size: 2rem;
font-weight: 700;
@include mq(sm) {
font-size: 2.5rem;
}
}
.banner-text-description {
font-size: 1rem;
font-weight: 500;
}
.btn-contribute {
@extend .btn-general;
margin-bottom: 2rem;
margin-right: 4rem;
float: right;
color: $blue-dk-300;
box-shadow: 2px 3px 5px #000000;
&:hover {
box-shadow: 2px 3px 5px $blue-dk-300 !important;
}
}
.btn-contribute span {
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
// Modifies margins in xl layout to support TOC
.side-bar {
background-color: $sidebar-color;
@include mq(lg) {
width: $nav-width;
}
@ -993,7 +935,7 @@ main {
version-selector {
z-index: 1;
font-size: .9rem;
margin: 1.5rem 3px;
margin: 0.5rem 3px;
--normal-bg: linear-gradient(#{lighten($blue-300, 5%)}, #{darken($blue-300, 2%)});
--hover-bg: linear-gradient(#{lighten($blue-300, 2%)}, #{darken($blue-300, 4%)});
@ -1025,17 +967,26 @@ body {
}
}
$light-theme-navigation-background: #F1FBFF;
$primary-deep-blue-sea-s3: #001E30;
$primary-deep-blue-sea-t1: #2C5E7A;
$primary-open-sky: #00A3E0;
$primary-open-sky-s3: #003551;
$primary-open-sky-s2: #006D97;
$primary-open-sky-t1: #4FB3E3;
$primary-open-sky-t2: #9BCFED;
$primary-open-sky-t3: #E1F0F9;
$primary-pacific-sky-t2: #DCEBF4;
$primary-pacific-sky-t3: #F4F8FB;
.back-link {
text-align: start;
display: block;
font-size: 0.9rem;
padding-right: 2rem;
padding-left: 2rem;
padding-top: 0.5rem;
margin-bottom: 1rem;
}
.site-category {
@extend .back-link;
padding-top: 1.5rem;
padding-bottom: 0.5rem;
font-size: 0.8rem;
color: $blue-dk-300;
font-weight: 600;
text-transform: uppercase;
border-bottom: 1px solid #eeebee;
}
@mixin body-text($color: #000) {
color: $color;
@ -1091,3 +1042,4 @@ $primary-pacific-sky-t3: #F4F8FB;
@import "../font-awesome.scss";
@import "../_navigation-header.scss";
@import "../footer.scss";
@import "../_home.scss";

View File

@ -99,4 +99,4 @@ The default parameters work on a broader set of use cases, but make sure to run
The standard k-NN query and custom scoring option perform differently. Test with a representative set of documents to see if the search results and latencies match your expectations.
Custom scoring works best if the initial filter reduces the number of documents to no more than 20,000. Increasing shard count can improve latency, but be sure to keep shard size within the [recommended guidelines]({{site.url}}{{site.baseurl}}/opensearch#primary-and-replica-shards).
Custom scoring works best if the initial filter reduces the number of documents to no more than 20,000. Increasing shard count can improve latency, but be sure to keep shard size within the [recommended guidelines]({{site.url}}{{site.baseurl}}/about/intro/#primary-and-replica-shards).

View File

@ -1,73 +1,12 @@
---
layout: default
title: OpenSearch documentation
layout: home
title: Home
nav_order: 1
has_children: true
has_children: false
nav_exclude: true
permalink: /
---
{% include banner.html %}
# Getting started
- [About OpenSearch]({{site.url}}{{site.baseurl}}/opensearch/)
- [Quickstart]({{site.url}}{{site.baseurl}}/quickstart/)
- [Install OpenSearch]({{site.url}}{{site.baseurl}}/install-and-configure/install-opensearch/index/)
- [Install OpenSearch Dashboards]({{site.url}}{{site.baseurl}}/install-and-configure/install-dashboards/index/)
- [See the FAQ](https://opensearch.org/faq)
## Why use OpenSearch?
With OpenSearch, you can perform the following use cases:
<table style="table-layout: auto ; width: 100%;">
<tbody>
<tr style="text-align: center; vertical-align:center;">
<td><img src="{{site.url}}{{site.baseurl}}/images/1_search.png" class="no-border" alt="Fast, scalable full-text search" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/2_monitoring.png" class="no-border" alt="Application and infrastructure monitoring" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/3_security.png" class="no-border" alt="Security and event information management" height="100"/></td>
<td><img src="{{site.url}}{{site.baseurl}}/images/4_tracking.png" class="no-border" alt="Operational health tracking" height="100"/></td>
</tr>
<tr style="text-align: left; vertical-align:top; font-weight: bold; color: rgb(0,59,92)">
<td>Fast, Scalable Full-text Search</td>
<td>Application and Infrastructure Monitoring</td>
<td>Security and Event Information Management</td>
<td>Operational Health Tracking</td>
</tr>
<tr style="text-align: left; vertical-align:top;">
<td>Help users find the right information within your application, website, or data lake catalog. </td>
<td>Easily store and analyze log data, and set automated alerts for underperformance.</td>
<td>Centralize logs to enable real-time security monitoring and forensic analysis.</td>
<td>Use observability logs, metrics, and traces to monitor your applications and business in real time.</td>
</tr>
</tbody>
</table>
**Additional features and plugins:**
OpenSearch has several features and plugins to help index, secure, monitor, and analyze your data. Most OpenSearch plugins have corresponding OpenSearch Dashboards plugins that provide a convenient, unified user interface.
- [Anomaly detection]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/) - Identify atypical data and receive automatic notifications
- [KNN]({{site.url}}{{site.baseurl}}/search-plugins/knn/) - Find “nearest neighbors” in your vector data
- [Performance Analyzer]({{site.url}}{{site.baseurl}}/monitoring-plugins/pa/) - Monitor and optimize your cluster
- [SQL]({{site.url}}{{site.baseurl}}/search-plugins/sql/index/) - Use SQL or a piped processing language to query your data
- [Index State Management]({{site.url}}{{site.baseurl}}/im-plugin/) - Automate index operations
- [ML Commons plugin]({{site.url}}{{site.baseurl}}/ml-commons-plugin/index/) - Train and execute machine-learning models
- [Asynchronous search]({{site.url}}{{site.baseurl}}/search-plugins/async/) - Run search requests in the background
- [Cross-cluster replication]({{site.url}}{{site.baseurl}}/replication-plugin/index/) - Replicate your data across multiple OpenSearch clusters
## The secure path forward
OpenSearch includes a demo configuration so that you can get up and running quickly, but before using OpenSearch in a production environment, you must [configure the Security plugin manually]({{site.url}}{{site.baseurl}}/security/configuration/index/) with your own certificates, authentication method, users, and passwords.
## Looking for the Javadoc?
See [opensearch.org/javadocs/](https://opensearch.org/javadocs/).
## Get involved
[OpenSearch](https://opensearch.org) is supported by Amazon Web Services. All components are available under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) on [GitHub](https://github.com/opensearch-project/).
The project welcomes GitHub issues, bug fixes, features, plugins, documentation---anything at all. To get involved, see [Contributing](https://opensearch.org/source.html) on the OpenSearch website.
---
<small>OpenSearch includes certain Apache-licensed Elasticsearch code from Elasticsearch B.V. and other source code. Elasticsearch B.V. is not the source of that other source code. ELASTICSEARCH is a registered trademark of Elasticsearch B.V.</small>
{% include cards.html %}