All Products
Search
Document Center

OpenSearch:Service usage

Last Updated:Jun 03, 2026

This page answers common questions about OpenSearch setup, data management, search behavior, APIs, SDKs, and result highlighting.

System-related FAQ

What is OpenSearch?

OpenSearch is a cloud search service for structured data. Through the OpenSearch console, you can build scalable, customizable search services without managing infrastructure. Define your schema, upload data, and query it using the OpenSearch API or one of the provided SDKs. For an overview of available SDKs, see the SDK overview topic.

What are the benefits of OpenSearch?

OpenSearch runs on Alibaba Cloud infrastructure and scales hardware resources automatically as your data grows—no upfront hardware investment required. Search queries run independently of your application servers, so search load does not affect your existing services. OpenSearch returns ranked, relevant results quickly, helping improve user engagement and session quality.

How many search requests can I send?

There is no hard limit on total search requests. Set your queries per second (QPS) quota in the OpenSearch console based on expected traffic. For high-QPS workloads, submit a ticket in advance—OpenSearch automatically adjusts resources to handle the load, which can take a few days.

How much latency does a search request have?

Latency depends on two factors: query complexity and the number of matched documents. Test latency against your own data and query patterns to get accurate estimates for your use case.

How is OpenSearch billed?

OpenSearch supports two billing methods: storage + QPS-based billing, and logical computing unit (LCU)-based billing. For details, see Overview. If you use storage + QPS billing, the monitored LCU consumption data does not apply to billing—use it to evaluate search performance.

Procedure-related FAQ

What is an application? How do I create an application?

In OpenSearch, an application is a self-contained search instance: a collection of documents that share a schema and search configuration. To set one up, define your data tables and field types, configure search properties, and upload data. Once created, you can query it via the API.

Create, manage, and delete applications in the OpenSearch console or through the OpenSearch API.

Why do I need to build indexes when I define the schema of an application?

Indexes are what make keyword search possible. When you define an index field, OpenSearch builds an inverted index from one or more source fields. Without index fields, keyword-based queries have nothing to search against.

For example, a forum might need two search modes:

  • Full search across title, body, and author: map these source fields to the default index field, then query with query=default:'keyword'.

  • Title-only search: map just the title source field to a title_search index field, then query with query=title_search:'keyword'.

What is a template?

Templates are pre-built application configurations—schemas and sorting methods—based on common data patterns. When you create an application in the OpenSearch console, you can choose from available templates to reduce setup time.

Can I modify the schema of an application created from a template?

Yes. In the OpenSearch console, go to the application details page and click Modify Offline Application. For step-by-step instructions, see Perform offline changes.

How do I upload data to an application?

The method depends on your data source:

  • ApsaraDB RDS, MaxCompute, or PolarDB: Configure the data source in the OpenSearch console. Data syncs automatically, including ongoing updates.

  • Other sources: Upload data by calling the OpenSearch API or using the upload feature in the OpenSearch console.

How many documents can I upload to an application?

There is no built-in cap. Set your document quota in the OpenSearch console based on your actual data volume. For large one-time imports, submit a ticket in advance—the process is similar to requesting a high-QPS quota. A higher document quota increases storage costs, so set it to match your actual needs.

How do I delete an application?

  1. Log on to the OpenSearch console.

  2. Go to the details page of the application.

  3. Click Delete Application.

  4. Confirm the deletion in the dialog box.

How do I delete a document in an application?

Run a DELETE statement using an OpenSearch SDK, or delete the document directly on the Search Test page in the OpenSearch console.

How do I clear an application?

It depends on whether you want to reuse the application name:

  • Keep the application name: Delete documents one by one from within the application. Applications of the advanced edition support scheduled clearing—documents can be retained for 7 to 180 days before automatic deletion.

  • Discard the application name: Create a new application and copy over the configurations from the original.

    FAQ about data import

Can I import data from an ApsaraDB RDS instance to OpenSearch?

Yes. Configure your ApsaraDB RDS instance as the data source for an OpenSearch application. After the initial full import and index rebuild, incremental updates from the RDS instance sync to OpenSearch automatically.

Which Alibaba Cloud services can be used as data sources for OpenSearch applications?

OpenSearch supports ApsaraDB RDS, MaxCompute, and PolarDB as data sources.

What format is supported when I call the OpenSearch API or use an OpenSearch SDK to upload documents?

Only JSON is supported. For format details, see the templates in the OpenSearch console or refer to Process data.

What is the difference between the ADD statement and the UPDATE statement?

The difference is in how they handle fields with no specified value:

  • ADD: Fields left unspecified are set to their default values.

  • UPDATE: Fields left unspecified are left unchanged (no value is written).

    Search-related FAQ

What types of searches does OpenSearch support?

OpenSearch supports text and numeric searches, with query, filter, sort, statistics, and aggregation capabilities. Additional features include custom indexes, custom result sorting, drop-down suggestions, and configurable search analysis—such as synonyms and intelligent correction. Pre-built templates based on common data patterns are also available.

Can I retrieve all documents from an application?

No. OpenSearch is a search engine designed to retrieve the most relevant results efficiently, not to return full dataset exports. Each query returns only a limited number of documents. For pagination, set the viewtotal parameter in the response. For applicable limits, see Limits.

Why is an array displayed as a string in search results?

OpenSearch uses a tab character (\t) as the delimiter between array elements in search results.

Does OpenSearch support custom analyzers and custom dictionaries?

OpenSearch supports multiple built-in analysis methods and allows you to customize analysis methods. All dictionaries in OpenSearch share the same set of configurations. Custom dictionaries are not supported. For the available options, see Fields and analyzers.

Why am I unable to find the document containing "chi fan le" when I search for "chi fan le ma"?

OpenSearch requires all analyzed terms to be present in a document for it to appear in results. When you search query=default:'chi fan le ma', OpenSearch rewrites it as:

query=default:'chi fan' AND default:'le' AND default:'ma'

Because the document does not contain "ma", it is excluded.

To handle this type of long-tail search, configure term weights in your search analysis settings. With term weights, OpenSearch uses the RANK function for lower-weight terms instead of AND, so the query becomes:

query=default:'chi fan' RANK default:'le' RANK default:'ma'

This retrieves documents containing "chi fan le" and ranks them above documents that only contain "chi fan".

Why am I unable to find the document containing "mxplayer" when I search for "mx" or "player"?

OpenSearch analyzes English text at the word level. "mxplayer" is treated as a single token, so searching for "mx", "player", or "mx player" will not match it.

Does OpenSearch support search queries in languages other than Chinese and English?

OpenSearch provides full semantic analysis for Chinese and English. For other languages that use spaces as delimiters—such as Portuguese and Russian—OpenSearch supports basic word matching but not semantic analysis. Languages without space delimiters—such as Japanese and Korean—are not supported. General analyzers are available for Thai and Vietnamese. For the full list, see Text analyzers.

How do I display the most relevant item from each store along with the total match count per store?

Use the aggregate and distinct clauses together. The distinct clause classifies search results into distinct types, and the aggregate clause aggregates the results of the same type.

Does OpenSearch support search result caching?

Yes. Identical queries within a 5-minute window return cached results. By default, the search result caching feature is enabled. You cannot disable the feature or modify its configurations.

FAQ about OpenSearch API and OpenSearch SDKs

What is the endpoint of the OpenSearch API?

OpenSearch is deployed across multiple regions, with a dedicated endpoint per region. Find your application's endpoint on its details page in the OpenSearch console.

I uploaded data using an OpenSearch SDK and received a status OK response. Why did an error appear in the OpenSearch console?

A status OK response confirms that OpenSearch received your data—it does not mean the data was processed successfully. Processing errors are logged separately in the OpenSearch console's error logs.

If data you uploaded is not appearing in search results:

  1. Check the error logs in the OpenSearch console.

  2. Identify and fix any schema or data format issues.

  3. Reimport the affected data.

OpenSearch does not provide an API operation to query error messages directly.

For other questions, submit a ticket.

Highlighting-related FAQ

What is the segment length?

The segment length sets the maximum length of the search result summary for a field. Only terms that appear within the segment length are highlighted in red in the results.

What is an ellipsis (...) used for?

An ellipsis connects multiple segments in a result summary. For example, if a field is 1,000 bytes long and the segment length is 200 bytes, up to three 200-byte segments may be returned, joined by ellipses. Only hit terms within each segment are highlighted in red.