Link
Search
Menu
Expand
Document
Documentation Menu
OpenSearch
Menu
About
Releases
Roadmap
FAQ
Platform
Search
Observability
Security Analytics
Vector Database
Playground Demo
Performance Benchmarks
Community
Forum
Slack
Events
Solutions Providers
Projects
Members
Documentation
OpenSearch and Dashboards
Data Prepper
Clients
Benchmark
Migration Assistant
Blog
Download
Documentation
OpenSearch and OpenSearch Dashboards
← Back to docs home
About OpenSearch
Version history
Breaking changes
Getting started
Intro to OpenSearch
Installation quickstart
Communicate with OpenSearch
Add and manage your data
Ingest data
Search your data
Analyze your data
Concepts
Tutorials
Vector search
Getting started with semantic and hybrid search
Vector operations
Generating embeddings
Semantic search using byte vectors
Optimizing vector search using Cohere compressed embeddings
Semantic search
Semantic search using OpenAI
Semantic search using Cohere Embed
Semantic search using Cohere Embed on Amazon Bedrock
Semantic search using Amazon Bedrock Titan
Semantic search using Amazon Bedrock Titan in another account
Semantic search in Amazon SageMaker
Semantic search using AWS CloudFormation and Amazon SageMaker
Semantic search using AWS CloudFormation and Amazon Bedrock
Semantic search using an asymmetric embedding model
Semantic search using text chunking
Using semantic highlighting
Reranking search results
Reranking using Cohere Rerank
Reranking search results using Cohere Rerank on Amazon Bedrock
Reranking search results using Amazon Bedrock models
Reranking search results using a cross-encoder in Amazon SageMaker
Reranking search results using a reranker in Amazon SageMaker
Reranking search results by a field
Generative AI
RAG
RAG using the DeepSeek Chat API
RAG using DeepSeek-R1 on Amazon Bedrock
RAG using DeepSeek-R1 in Amazon SageMaker
Conversational search using Cohere Command
Conversational search using Anthropic Claude on Amazon Bedrock
Conversational search using OpenAI
Agentic AI
Building a plan-execute-reflect agent
Chatbots
RAG chatbot
RAG chatbot with a conversational flow agent
Build your own chatbot
AI search workflows
Model guardrails
Amazon Bedrock model guardrails
Faceted search
LLM-as-a-Judge
Install and configure
Installing OpenSearch
Docker
Helm
Tarball
RPM
Debian
OpenSearch Kubernetes Operator
Operator configuration
OpenSearch cluster configuration
OpenSearch Dashboards configuration
Kubernetes deployment customization
Cluster operations
User and role management
Advanced management
Ansible playbook
Windows
Installing OpenSearch Dashboards
Docker
Tarball
RPM
Debian
Helm
Windows
Configure TLS
Configuring OpenSearch
Configuration and system settings
Network settings
Discovery and gateway settings
Security settings
Cluster settings
Index settings
Cache settings
Search settings
Monitoring settings
Availability and recovery settings
Thread pool settings
Circuit breaker settings
Admission control settings
Plugin settings
Ingest settings
Experimental feature flags
Script and resource settings
Logs
Compatible operating systems
Configuring OpenSearch Dashboards
Installing plugins
Additional plugins
Ingest-attachment plugin
Mapper-size plugin
OpenSearch JVector plugin
Managing OpenSearch Dashboards plugins
Migrate or upgrade
Snapshot and restore
Rolling upgrade
Rolling upgrade lab
Migration Assistant
Creating and tuning your cluster
Discovery and cluster formation
Node discovery and seed hosts
Voting and quorum
Voting configuration management
Cluster bootstrapping
Discovery and cluster formation settings
Cluster manager task throttling
Cross-cluster replication
Getting started
Auto-follow
Force-resume
Replication security
Replication settings
Cross-Cluster Replication API
Bulk Replication API
Availability and recovery
Snapshots
Take and restore snapshots
Snapshot management
Snapshot Management API
Searchable snapshots
Remote-backed storage
Migrating to remote-backed storage
Remote cluster state
Remote segment backpressure
Remote segment warmer
Shallow snapshots
Remote Store Stats API
Search backpressure
Shard indexing backpressure
Stats API
Settings
Segment replication
Segment replication backpressure
Rule-based auto-tagging
Rules API
Workload management
Workload groups
Workload group rules
Workload group settings
Managing workloads in OpenSearch Dashboards
Tuning for indexing speed
Separate index and search workloads
Managing Indexes
Index templates
Index aliases
Data streams
Append-only index
Index context
Index sorting
Reindex data
Refresh search analyzer
Similarity
Index State Management
Policies
Managed indexes
Settings
ISM API
Index transforms
Transforms APIs
Index rollups
Index rollups API
Settings
ISM Error Prevention
ISM error prevention resolutions
ISM Error Prevention API
Notification settings
Index management security
Ingest Pipelines
Create or update pipeline
Simulate pipeline
Get pipeline
Delete pipeline
Access data in a pipeline
Handling pipeline failures
Conditional execution
Complex conditionals
Conditionals with the pipeline processor
Regex conditionals
Ingest processors
Append
Bytes
Convert
Copy
CSV
Date
Community ID
Date index name
Dissect
Dot expander
Drop
Fail
Fingerprint
Foreach
Grok
gsub
IP2Geo
HTML strip
Join
JSON
KV
Lowercase
ML inference
Pipeline
Remove
Remove by pattern
Rename
Script
Set
Sparse encoding
Sort
Text chunking
Text embedding
Split
Text/image embedding
Trim
Uppercase
URL decode
User agent
OpenSearch Dashboards
Getting started
Installation quickstart
Access OpenSearch Dashboards
Prepare your data
Learn about main applications and query languages
Explore the Discover application
Explore the Visualize application
Explore the Dashboards application
Run queries in the Dev Tools console
Concepts
Using OpenSearch Dashboards
Exploring data
Exploring data with Discover
Time filter
Search bar
Filter tool
Field select tool
Using Dev Tools
Console
Grok Debugger
Query Profiler
Using Query Workbench
Building data visualizations
Creating visualizations in the Visualize application
Visualization types
Area chart
Bar chart
Controls
Coordinate map
Data table
Gauge visualization
Goal visualization
Heat map
Line chart
Maps application
Markdown visualization
Metric visualization
Pie chart
PPL visualization
Region map
Tag cloud
Timeline visualization
TSVB visualization
Vega visualization
VisBuilder
Creating aggregation-based visualizations
Configuring visualizations
Configuring maps
Configuring a Web Map Service (WMS)
Using self-hosted map servers
Creating visualizations using queries
Visualization types
Area chart
Bar chart
Bar gauge chart
Gauge chart
Heatmap
Histogram
Line chart
Metric chart
Pie chart
Scatter plot
State timeline
Table
Configuring visualizations
Thresholds
Value calculations
Dashboard variables
Managing dashboard variables
Using dashboard variables
Creating dashboards
Dashboard tutorial
Opening a dashboard
Adding a visualization to a dashboard
Customizing a dashboard
Managing dashboards
Dashboards Query Language (DQL)
Connecting data sources
Index patterns
Configuring and using multiple data sources
Connecting Amazon S3 to OpenSearch
Query and visualize Amazon S3 data
Optimizing query performance using OpenSearch indexing
Scheduled Query Acceleration
Connecting Prometheus to OpenSearch
Workspaces
Getting started with workspaces
Create a workspace
Manage workspaces
Workspace access control lists
Workspaces APIs
Index management
Indexes
Data streams
Force merge
Rollover
Component templates
Notification settings
Snapshot management
Dashboards management
Advanced settings
Access control lists for saved objects
Resource access management
Integrations
Settings and administration
Custom branding
Network compression
CSP rules
Search telemetry
OpenSearch Assistant for OpenSearch Dashboards
Alert insights
Data summary
Anomaly detector suggestions
Text to visualization
Security
Getting started with OpenSearch security
Configuration
Best practices
Setting up a demo configuration
System indexes
Configuring the security backend
Modifying the YAML files
Configuring TLS certificates
OpenSearch FIPS configuration
Generating self-signed certificates
Applying changes to configuration files
Security configuration versioning
API rate limiting
Configuring sign-in options
Disabling and enabling the Security plugin
OpenSearch keystore
Authentication backends
HTTP basic authentication
JSON Web Token
OpenID Connect
SAML
Active Directory and LDAP
Proxy-based authentication
Client certificate authentication
Kerberos
Access control
Defining users and roles
Permissions
Default action groups
REST layer authorization
Document-level security
Field-level security
Field masking
User impersonation
Resource sharing and access control
Resource sharing APIs
Security APIs
Authorization tokens
API keys
Anonymous authentication
Audit logs
Audit log field reference
Audit log storage types
OpenSearch Dashboards multi-tenancy
Multi-tenancy configuration
Dynamic configuration in OpenSearch Dashboards
Multi-tenancy aggregate view for saved objects
Security analytics
OpenSearch security for Security Analytics
Security Analytics resource access control
Setting up Security Analytics
Working with log types
Creating detectors
Creating correlation rules
Supported log types
AD LDAP
Amazon S3
Apache Access
AWS CloudTrail
Azure
DNS
GitHub
Google Workspace
Linux
Microsoft 365
NetFlow
Network
Okta
VPC Flow
WAF
Windows
Other log type mappings
Using Security Analytics
The Overview page
Working with detectors
Working with findings
Working with detection rules
Working with the correlation graph
Working with alerts
Security Analytics APIs
Threat intelligence
Getting started
Threat intelligence APIs
Monitor API
Alerts and Findings API
Source API
Security Analytics settings
Mappings
Supported field types
Alias
Boolean
Binary
String field types
Text
Match-only text
Keyword
Constant keyword
ICU collation keyword
Wildcard
Token count
Version
Numeric field types
Unsigned long
Date field types
Date
Date nanoseconds
IP address
Geographic field types
Geopoint
Geoshape
Cartesian field types
xy point
xy shape
Range field types
Object field types
Object
Nested
Flat object
Join
Autocomplete field types
Completion
Search as you type
k-NN vector
Spaces
Methods and engines
Memory-optimized vectors
Sparse vector
Specialized search field types
Semantic
Rank field types
Percolator
Star-tree
Derived
Metadata fields
Field names
ID
Ignored
Index
Meta
Routing
Source
Mapping parameters
Analyzer
Boost
Coerce
Copy to
Doc values
Disable objects
Dynamic
Eager global ordinals
Enabled
Field data
Fields
Format
Ignore above
Ignore malformed
Index options
Index
Index phrases
Index prefixes
Meta
Normalizer
Norms
Null value
Position increment gap
Properties
Search analyzer
Similarity
Store
Term vector
Mapping explosion
Text analysis
Analyzers
Index analyzers
Search analyzers
Creating a custom analyzer
Standard analyzer
Fingerprint analyzer
Keyword analyzer
Pattern analyzer
Simple analyzer
Stop analyzer
White space analyzer
DL model analyzers
Language analyzers
Arabic
Armenian
Basque
Bengali
Brazilian
Bulgarian
Catalan
CJK
Czech
Danish
Dutch
English
Estonian
Finnish
French
Galician
German
Greek
Hindi
Hungarian
ICU
Indonesian
Irish
Italian
Kuromoji (Japanese)
Latvian
Lithuanian
Norwegian
Persian
Polish
Portuguese
Romanian
Russian
Sorani
Spanish
Swedish
Thai
Turkish
Ukrainian
Phone number analyzers
Tokenizers
Character group
Classic
Edge n-gram
ICU
Keyword
Kuromoji
Letter
Lowercase
N-gram
Path hierarchy
Pattern
Simple pattern
Simple pattern split
Standard
Thai
UAX URL email
White space
Token filters
Apostrophe
ASCII folding
CJK bigram
CJK width
Classic
Common grams
Condition
Decimal digit
Delimited payload
Delimited term frequency
Dictionary decompounder
Edge n-gram
Elision
Fingerprint
Flatten graph
Hunspell
Hyphenation decompounder
ICU folding
ICU transform
Japanese stop
Keep types
Keep words
Keyword marker
Keyword repeat
KStem
Kuromoji base form
Kuromoji completion
Kuromoji number
Kuromoji part of speech
Kuromoji reading form
Kuromoji stemmer
Length
Limit
Lowercase
Min hash
Multiplexer
N-gram
Normalization
Pattern capture
Pattern replace
Phonetic
Porter stem
Predicate token filter
Remove duplicates
Reverse
Shingle
Snowball
Stemmer
Stemmer override
Stop
Synonym
Synonym graph
Trim
Truncate
Unique
Uppercase
Word delimiter
Word delimiter graph
Character filters
HTML strip
ICU normalization
Kuromoji iteration mark
Mapping
Pattern replace
Normalizers
Stemming
Token graphs
Query DSL
Query and filter context
Term-level and full-text queries compared
Match all queries
Full-text queries
Match
Match phrase
Match phrase prefix
Match Boolean prefix
Multi-match
Combined fields
Simple query string
Query string
Intervals
Term-level queries
Term
Terms
Terms set
IDs
Range
Prefix
Exists
Fuzzy
Wildcard
Regexp
Compound queries
Boolean
Boosting
Constant score
Disjunction max
Function score
Hybrid
AI and vector search queries
Agentic
k-NN
k-NN query explain
Neural
Neural sparse
Neural sparse ANN explain
Template
Specialized queries
Distance feature
More like this
Percolate
Script query
Script score
Rank feature
Wrapper
Geographic and xy queries
Geo-bounding box
Geodistance
Geopolygon
Geoshape
xy
Joining queries
Nested
Has child
Has parent
Parent ID
Span queries
Span containing
Span field masking
Span first
Span multi-term
Span near
Span not
Span or
Span term
Span within
Named queries
Minimum should match
Rewrite
Rescore
Regular expression syntax
SQL and PPL
SQL and PPL API
Data source APIs
Execute direct query
Read resources
Write resources
Response formats
SQL and PPL CLI
SQL
Basic queries
Complex queries
Functions
JSON support
Metadata queries
Aggregate functions
Delete
JDBC driver
ODBC driver
PPL
Commands
PPL syntax
ad
addcoltotals
addtotals
append
appendcol
appendpipe
bin
chart
convert
dedup
describe
eval
eventstats
expand
explain
fieldformat
fields
fillnull
flatten
graphLookup
grok
head
join
kmeans
lookup
ml
multisearch
mvcombine
mvexpand
nomv
parse
patterns
rare
regex
rename
replace
reverse
rex
search
show datasources
sort
spath
stats
streamstats
subquery
table
timechart
top
transpose
trendline
where
Functions
Aggregation functions
Collection functions
Conditional functions
Type conversion functions
Cryptographic functions
Date and time functions
Expressions
IP address functions
JSON functions
Mathematical functions
Relevance functions
Statistical functions
String functions
System functions
Subsearch
Identifiers
Data types
Functions
Full-text search
Settings
Troubleshooting
Monitoring
Limitations
Aggregations
Metric aggregations
Average
Cardinality
Extended stats
Geobounds
Geocentroid
Matrix stats
Maximum
Median absolute deviation
Minimum
Percentile ranks
Percentile
Scripted metric
Stats
Sum
Top hits
Value count
Weighted average
Bucket aggregations
Adjacency matrix
Auto-interval date histogram
Children
Composite
Date histogram
Date range
Diversified sampler
Filter
Filters
Geodistance
Geohash grid
Geohex grid
Geotile grid
Global
Histogram
IP range
Missing
Multi-terms
Nested
Parent
Range
Rare terms
Reverse nested
Sampler
Significant terms
Significant text
Terms
Variable width histogram
Pipeline aggregations
Average bucket
Bucket script
Bucket selector
Bucket sort
Cumulative sum
Derivative
Extended stats bucket
Maximum bucket
Minimum bucket
Moving average
Moving function
Percentiles bucket
Serial differencing
Stats bucket
Sum bucket
Search
Keyword search
Customizing search results
Paginate results
Point in Time
Sort results
Filter results
Collapse search results
Retrieve specific fields
Retrieve inner hits
Highlight query matches
Autocomplete
Did-you-mean
Optimizing search quality
User Behavior Insights
UBI index schemas
UBI JavaScript Collector
Example UBI query DSL queries
Sample UBI SQL queries
UBI dashboard tutorial
Collecting UBI-formatted data in Amazon OpenSearch Service
Search Relevance Workbench
Query sets
Search configurations
Judgments
Experiments
Comparing single queries
Comparing search results
Comparing query sets
Evaluating search quality
Optimizing hybrid search
Exploring search evaluation results
Monitoring search quality
Relevance agent
Query rewriting
Querqy
Template queries
Learning to Rank
ML ranking core concepts
Scope of the plugin
Working with features
Feature engineering
Logging feature scores
Uploading trained models
Optimizing search with LTR
Advanced functionality
Common issues
Reranking search results
Reranking using a cross-encoder model
Reranking by a field
Reranking by a field using a cross-encoder
Reranking by a field using a late interaction model
Search pipelines
Creating a search pipeline
Using a search pipeline
Debugging a search pipeline
Retrieving search pipelines
Deleting search pipelines
User-defined search processors
Collapse
Hybrid score explanation
Filter query
ML inference (request)
ML inference (response)
Neural query enricher
Neural sparse query two-phase
Normalization
Oversample
Personalize search ranking
Rename field
Rerank
Retrieval-augmented generation
Score ranker
Script
Sort
Split
Truncate hits
System-generated search processors
Search pipeline metrics
Improving search performance
Caching
Index request cache
Tiered cache
Field data cache
Concurrent segment search
Search shard routing
Asynchronous search
Asynchronous search security
Settings
Star-tree index
Cross-cluster search
Vector search
Getting started
Vector search basics
Preparing vectors
Generating embeddings automatically
Concepts
Vector search techniques
Approximate k-NN search
Exact k-NN search with a scoring script
Painless extensions
Creating a vector index
Ingesting data
Text chunking
Searching data
AI search
Semantic search
Hybrid search
Reciprocal rank fusion
Using sorting with a hybrid query
Paginating hybrid query results
Hybrid search with search_after
Collapsing hybrid query results
Hybrid search with pre-filtering
Hybrid search with post-filtering
Combining hybrid search and aggregations
Using inner hits in hybrid queries
Hybrid search explain
Multimodal search
Neural sparse search
Generating sparse vector embeddings automatically
Using custom configurations for neural sparse search
Neural sparse search using raw vectors
Neural sparse ANN search
Conversational search with RAG
Agentic search
Configuring agents
Using flow agents
Using conversational agents
Using agentic memory
Configuring agents for semantic search
Adding search templates
Reranking agentic search results
Using external MCP servers
Building AI search workflows in OpenSearch Dashboards
Configuring AI search types
Configuring agentic search
Filtering data
Efficient k-NN filtering
Post-filtering
Scoring script filter
Filtering in neural sparse ANN search
Specialized vector search
Nested field search
Radial search
Vector search with MMR reranking
Optimizing vector storage
Vector quantization
Lucene scalar quantization
Exact search using scalar quantization
Faiss scalar quantization
Faiss product quantization
Binary quantization
Disk-based vector search
Memory-optimized search
Performance tuning
Indexing performance tuning
Search performance tuning
Neural sparse ANN search performance tuning
Remote index build
LLM framework integration
Vector search API
k-NN API
Neural Search API
Settings
Machine learning
Integrating ML models
Model access control
Model access control through resource sharing
Using ML models within OpenSearch
Pretrained models