OpenSearch Industry Algorithm Edition provides pre-computed features for use in custom sorting models. These features are automatically derived from your application's search logs and behavioral data, or passed in at query time — no manual computation required.
Feature categories

Built-in features fall into two categories:
Item features: Derived from item properties and historical interaction statistics.
User features: Derived from the current user's query context.
Item features
Field features
Field features are derived from the fields in your application schema. All fields are included by default. For each field, select a processing method based on the field type:
Text fields: tokenization or vectorization
Numeric fields: original value mapping
To use fields that are not in your application schema, import them via a MaxCompute external table.
Processing methods
Each processing method transforms field content differently. The following example uses the input "White T-shirt" to illustrate each method:
| Processing method | Output | Notes |
|---|---|---|
| Original value mapping | White T-shirt | Returns the raw field value unchanged. |
| Tokenization | White^]T-shirt | Splits the value into tokens separated by ^]. |
| Generating lookup features after tokenization | White:White^]T-shirt:T-shirt | Produces token:token pairs, separated by ^]. |
| Counting the number of terms after tokenization | 2 | Returns the number of tokens as an integer. |
The^]separator used in tokenization output is the same delimiter used in built-in feature values for fields such assystem_query_score_decayandsystem_qterm_seq_decay. For example:query1:score1^]query2:score2.
Statistical features
Statistical features are computed automatically from your application's search logs and behavioral data. They capture item-level interaction signals — impressions, clicks, and click-through rate (CTR) — over the previous seven days.
Built-in item features
| Field name | Type | Description |
|---|---|---|
system_item_id | STRING | The unique identifier of the item. |
system_all_nid_ctr_30 | BIGINT | The CTR of the item in the previous 30 days. Discretized. |
system_all_nid_ctr_7 | BIGINT | The CTR of the item in the previous seven days. Discretized. |
system_all_nid_ctr_1 | BIGINT | The CTR of the item within the previous day. Discretized. |
system_all_nid_pv_30 | BIGINT | The number of impressions of the item in the previous 30 days. Discretized. |
system_all_nid_pv_7 | BIGINT | The number of impressions of the item in the previous seven days. Discretized. |
system_all_nid_pv_1 | BIGINT | The number of impressions of the item within the previous day. Discretized. |
system_all_nid_ipv_30 | BIGINT | The number of clicks on the item in the previous 30 days. Discretized. |
system_all_nid_ipv_7 | BIGINT | The number of clicks on the item in the previous seven days. Discretized. |
system_all_nid_ipv_1 | BIGINT | The number of clicks on the item within the previous day. Discretized. |
system_query_score_decay | STRING | The click ratios of the top N queries relevant to the item (default N=20). Format: query1:score1^]query2:score2. |
system_qterm_score_decay | STRING | The click ratios of the top N query terms relevant to the item (default N=300). Format: term1:score1^]term2:score2. |
system_query_ctr_decay | STRING | The CTRs of the top N queries relevant to the item. Format: query1:ctr1^]query2:ctr2. |
system_qterm_ctr_decay | STRING | The CTRs of the top N query terms relevant to the item. Format: term1:ctr1^]term2:ctr2. |
system_query_match_decay | STRING | The search queries and their matches in the top N queries relevant to the item. Format: query1:query1^]query2:query2. |
system_qterm_match_decay | STRING | The search query terms and their matches in the top N query terms relevant to the item. Format: term1:term1^]term2:term2. |
system_query_seq_decay | STRING | The top N queries relevant to the item. Multi-valued feature. Format: query1^]query2. |
system_qterm_seq_decay | STRING | The top N query terms relevant to the item. Multi-valued feature. Format: term1^]term2. |
system_query_cnt | BIGINT | The number of values in system_query_seq_decay. |
system_qterm_cnt | BIGINT | The number of values in system_qterm_seq_decay. |
dt | STRING | The time partition by day. Example: 20230316. |
User features
User features capture information about the current user and their query. Two sub-types are available:
Query features: Passed via
raw_queryin the query request. These determine query-related signals such as query tokens and vectorization.User profile features: Imported via a MaxCompute external table for model training. Parameters are passed using the query field during behavior prediction.
User profile features are not supported in OpenSearch.
Built-in user features
| Feature name | Type | Description |
|---|---|---|
system_exp_time | STRING | The day of the week on which the behavior occurred. Examples: Monday, Tuesday. |
system_terms2 | STRING | The first 15 query tokens. |
system_user_id | STRING | The user ID. |
system_raw_q_ultra | STRING | The original query before tokenization. |
system_term_seq | STRING | The sequence feature of the query. |
system_term_seq_length | DOUBLE | The length of the query sequence feature. |