# Post index configuration

- Operation ID: `postIndexConfigV2`
- HTTP method: `POST`
- Path: `/search/v2/indices`
- [Human-readable API reference](https://hub.synerise.com/api-reference/ai-search#tag/Search-Configuration/operation/postIndexConfigV2)

## Self-contained OpenAPI method

The fenced document below contains this method's documentation and all of its local references. It is self-contained; no category or master specification fetch is required.

```yaml
openapi: 3.0.0
info:
  title: Synerise Public API
  version: 1.9.1
paths:
  /search/v2/indices:
    post:
      summary: Post index configuration
      description: |
        Creates a new configuration of a single index.

        ---

        **API consumers:** <a href="/api-reference/authorization?tag=Authorization&amp;operationId=profileLogin" target="_blank" rel="noopener">Workspace (Business Profile)</a>, <a href="/api-reference/authorization?tag=Authorization&amp;operationId=userLogin" target="_blank" rel="noopener">Synerise User</a>

        **API key permission required:** `ITEMS_SEARCH_CONFIG_SEARCH_CREATE`

        **User role permission required:** `assets_search: create`
      operationId: postIndexConfigV2
      tags:
        - Search Configuration
      security:
        - JWT: []
      requestBody:
        description: Request for posting search configuration
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - indexName
                - itemsCatalogId
                - language
                - searchableAttributes
                - enabled
              properties:
                indexName:
                  type: string
                  description: Human-friendly name of the index
                description:
                  type: string
                  description: Description of the index
                itemsCatalogId:
                  type: string
                  description: ID of the item catalog from which the index will be created
                language:
                  type: string
                  description: Search language as ISO 639-1 code
                enabled:
                  type: boolean
                  description: When `true`, the index is enabled and can be queried.
                ignoreUnavailableItems:
                  type: boolean
                  description: When `true`, unavailable items are not indexed, which makes the search run faster.
                  default: true
                scoring:
                  description: |
                    Item scoring settings that affect the presentation order of the results.

                    `0` means the lowest importance of a parameter, `1` is the highest importance.
                  type: object
                  properties:
                    pageVisitsPopularity:
                      description: The importance of how often the item page is visited
                      type: number
                      format: float
                      default: 0
                      minimum: 0
                      maximum: 1
                    transactionsPopularity:
                      description: The importance of how often the item is included in transactions
                      type: number
                      format: float
                      default: 0
                      minimum: 0
                      maximum: 1
                    personalized:
                      description: The importance of how relevant a item is to a profile according to the AI model
                      type: number
                      format: float
                      default: 0
                      minimum: 0
                      maximum: 1
                    tieBreaker:
                      description: The importance of lesser phrase matches
                      type: number
                      format: float
                      default: 0
                      minimum: 0
                      maximum: 1
                    matching:
                      description: Controls how many clauses should be present in query
                      oneOf:
                        - type: object
                          description: Indicates number of mandatory clauses
                          properties:
                            type:
                              type: string
                              enum:
                                - MinimumMatching
                            value:
                              type: integer
                              minimum: 1
                        - type: object
                          description: Indicates number of optional clauses
                          properties:
                            type:
                              type: string
                              enum:
                                - MaximumNotMatching
                            value:
                              type: integer
                              minimum: 1
                        - type: object
                          description: Any of clauses should match
                          properties:
                            type:
                              type: string
                              enum:
                                - AnyMatching
                        - type: object
                          description: All clauses should match
                          properties:
                            type:
                              type: string
                              enum:
                                - AllMatching
                        - type: object
                          description: |
                            Matching that works differently depending on the number of terms in the search query.
                          properties:
                            type:
                              type: string
                              enum:
                                - AdaptiveMatching
                            termsToMatch:
                              type: number
                              format: float
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 1
                              exclusiveMaximum: true
                              description: |
                                Indicates the percentage of all query terms that should be matched.
                                This matching is done using MinimumMatching with the value set to:
                                `termsToMatch * n`, where n is a number of all terms in the search query.
                                **If you define termsToMatch, you can't define termsToSubtract.**
                            termsToSubtract:
                              type: integer
                              minimum: 1
                              default: 1
                              description: |
                                Indicates a fixed number that should be subtracted from
                                the number of query terms that should match. This matching is done using
                                MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                a number of all terms in the search query.
                                **If you define termsToSubtract, you can't define termsToMatch.**
                            termsToActivate:
                              type: integer
                              minimum: 1
                              default: 3
                              description: |
                                Indicates how long (number of words) a search query must be to activate this mechanism.
                                All queries that are shorter than termsToActivate will use AllMatching.
                    fallbackMatching:
                      description: |
                        Backup matching mode used in cases where the main matching mode
                        (specified in `matching` parameter) does not provide enough results (at least 5)
                      oneOf:
                        - type: object
                          description: Indicates number of mandatory clauses
                          properties:
                            type:
                              type: string
                              enum:
                                - MinimumMatching
                            value:
                              type: integer
                              minimum: 1
                        - type: object
                          description: Indicates number of optional clauses
                          properties:
                            type:
                              type: string
                              enum:
                                - MaximumNotMatching
                            value:
                              type: integer
                              minimum: 1
                        - type: object
                          description: Any of clauses should match
                          properties:
                            type:
                              type: string
                              enum:
                                - AnyMatching
                        - type: object
                          description: |
                            Matching that works differently depending on the number of terms in the search query.
                          properties:
                            type:
                              type: string
                              enum:
                                - AdaptiveMatching
                            termsToMatch:
                              type: number
                              format: float
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 1
                              exclusiveMaximum: true
                              description: |
                                Indicates the percentage of all query terms that should be matched.
                                This matching is done using MinimumMatching with the value set to:
                                `termsToMatch * n`, where n is a number of all terms in the search query.
                                **If you define termsToMatch, you can't define termsToSubtract.**
                            termsToSubtract:
                              type: integer
                              minimum: 1
                              default: 1
                              description: |
                                Indicates a fixed number that should be subtracted from
                                the number of query terms that should match. This matching is done using
                                MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                a number of all terms in the search query.
                                **If you define termsToSubtract, you can't define termsToMatch.**
                            termsToActivate:
                              type: integer
                              minimum: 1
                              default: 3
                              description: |
                                Indicates how long (number of words) a search query must be to activate this mechanism.
                                All queries that are shorter than termsToActivate will use AllMatching.
                    similarity:
                      description: Defines how matching documents are scored
                      oneOf:
                        - type: object
                          description: Enhanced TF-IDF scoring model
                          properties:
                            type:
                              type: string
                              enum:
                                - BM25
                            k1:
                              type: number
                              description: Controls non-linear term frequency normalization (saturation)
                              format: float
                              default: 1.2
                              minimum: 0
                              maximum: 10
                            b:
                              type: number
                              description: Controls to what degree document length normalizes tf values
                              format: float
                              default: 0.75
                              minimum: 0
                              maximum: 1
                        - type: object
                          description: Term frequency-inverse document frequency scoring model
                          properties:
                            type:
                              type: string
                              enum:
                                - IDF
                    crossWorkspaceMode:
                      description: Cross workspace mode configuration
                      type: object
                      required:
                        - enabled
                      properties:
                        enabled:
                          description: When `true`, cross workspace search personalization mode is enabled
                          type: boolean
                suggestions:
                  type: object
                  description: Controls manner in which suggestions are generated
                  properties:
                    smoothingModel:
                      type: string
                      description: Controls balance weight between infrequent grams and frequent grams
                      enum:
                        - Popularity
                        - Accuracy
                    gramSize:
                      type: integer
                      description: Describes max size of the n-grams in the field
                      default: 3
                      minimum: 1
                      maximum: 10
                    maxErrors:
                      type: integer
                      description: Maximum number of errors for terms to be considered as misspelling in order to for a correction
                      default: 2
                      minimum: 1
                      maximum: 5
                    minWordLength:
                      type: integer
                      description: The minimum length a suggest text term must have in order to be included
                      default: 4
                      minimum: 1
                    useAlways:
                      type: boolean
                      description: Controls is suggestions are used only if no documents match, or always
                      default: false
                tokenizer:
                  description: Used for tokenizing full text into individual words
                  oneOf:
                    - type: object
                      description: The whitespace tokenizer divides text into terms whenever it encounters any whitespace character
                      properties:
                        type:
                          type: string
                          enum:
                            - Whitespace
                    - type: object
                      description: The standard tokenizer divides text into terms on word boundaries
                      properties:
                        type:
                          type: string
                          enum:
                            - Standard
                    - type: object
                      description: The pattern tokenizer uses a regular expression to either split text into terms whenever it matches a word separator
                      properties:
                        type:
                          type: string
                          enum:
                            - Pattern
                        pattern:
                          type: string
                          example: "[.,;]"
                analyzers:
                  type: object
                  description: Controls analyzer settings.
                  required:
                    - autocomplete
                  properties:
                    autocomplete:
                      type: string
                      description: The completion method used.
                      enum:
                        - Ngram
                        - EdgeNgram
                        - NgramWithSynonyms
                        - EdgeNgramWithSynonyms
                        - DefaultWithSynonyms
                attributesWithoutPrefixSearch:
                  type: array
                  description: Searchable attributes which will not be used in a prefix search
                  example:
                    - brand
                    - color
                    - promotion.type
                  items:
                    type: string
                attributesWithoutTypoTolerance:
                  type: array
                  description: Searchable attributes for which typo tolerance is off
                  example:
                    - itemId
                    - link
                  items:
                    type: string
                valuesWithoutTypoTolerance:
                  type: array
                  description: Attributes values for which typo tolerance is off
                  example:
                    - Nike
                    - blue
                    - "74997"
                  items:
                    type: string
                typoToleranceOnNumericValues:
                  type: boolean
                  description: When `true`, typo tolerance is active on numbers
                  default: true
                searchableAttributes:
                  description: |
                    The attributes that are taken into account as full text search terms
                  type: object
                  properties:
                    fullText:
                      type: array
                      description: The least important parameters
                      example:
                        - brand
                        - color
                        - promotion.type
                      items:
                        type: string
                    fullTextBoosted:
                      type: array
                      description: Medium-importance parameters
                      example:
                        - brand
                        - color
                        - promotion.type
                      items:
                        type: string
                    fullTextStronglyBoosted:
                      type: array
                      description: The most important parameters
                      example:
                        - brand
                        - color
                        - promotion.type
                      items:
                        type: string
                displayableAttributes:
                  description: Attributes shown in the search results
                  example:
                    - brand
                    - color
                    - promotion.type
                  type: array
                  items:
                    type: string
                facetableAttributes:
                  description: Attributes for which facets are returned in the search response. By default, all facetable attributes are also filterable and sortable.
                  type: object
                  properties:
                    range:
                      type: array
                      description: Array of range attributes
                      example:
                        - age
                        - customScore.value
                        - salePrice.value
                      default: []
                      items:
                        type: string
                    text:
                      type: array
                      description: Array of text attributes
                      example:
                        - brand
                        - color
                        - promotion.type
                      default: []
                      items:
                        type: string
                    datetime:
                      type: array
                      description: Array of datetime attributes
                      example:
                        - created
                        - attributes.modifiedAt
                      default: []
                      items:
                        type: string
                filterableAttributes:
                  description: Attributes for which filters can be used
                  type: object
                  properties:
                    range:
                      type: array
                      description: Array of range attributes
                      example:
                        - age
                        - customScore.value
                        - salePrice.value
                      default: []
                      items:
                        type: string
                    text:
                      type: array
                      description: Array of text attributes
                      example:
                        - brand
                        - color
                        - promotion.type
                      default: []
                      items:
                        type: string
                    datetime:
                      type: array
                      description: Array of datetime attributes
                      example:
                        - created
                        - attributes.modifiedAt
                      default: []
                      items:
                        type: string
                sortableAttributes:
                  description: Attributes using which search results can be sorted
                  type: object
                  properties:
                    range:
                      type: array
                      description: Array of range attributes
                      example:
                        - age
                        - customScore.value
                        - salePrice.value
                      default: []
                      items:
                        type: string
                    text:
                      type: array
                      description: Array of text attributes
                      example:
                        - brand
                        - color
                        - promotion.type
                      default: []
                      items:
                        type: string
                    datetime:
                      type: array
                      description: Array of datetime attributes
                      example:
                        - created
                        - attributes.modifiedAt
                      default: []
                      items:
                        type: string
                distinctFilterAttributes:
                  description: Attributes for which distinct can be used
                  type: object
                  properties:
                    range:
                      type: array
                      description: Array of range attributes
                      example:
                        - age
                        - customScore.value
                        - salePrice.value
                      default: []
                      items:
                        type: string
                    text:
                      type: array
                      description: Array of text attributes
                      example:
                        - brand
                        - color
                        - promotion.type
                      default: []
                      items:
                        type: string
                    datetime:
                      type: array
                      description: Array of datetime attributes
                      example:
                        - created
                        - attributes.modifiedAt
                      default: []
                      items:
                        type: string
                recentSearches:
                  type: object
                  description: Recent searches configuration
                  properties:
                    windowSize:
                      description: Amount of recent searches items to be returned
                      type: integer
                      example: 100
                    timeSpan:
                      type: object
                      description: Defines period for which recent searches are to be returned
                      properties:
                        type:
                          description: One of the following time units
                          type: string
                          enum:
                            - YEARS
                            - MONTHS
                            - WEEKS
                            - DAYS
                            - HOURS
                            - MINUTES
                            - SECONDS
                          example: DAYS
                        value:
                          description: Value corresponding with the time unit
                          type: integer
                          example: 30
                reranking:
                  type: object
                  description: Reranking configuration
                  properties:
                    dynamicReranker:
                      type: object
                      description: Dynamic reranker configuration
                      required:
                        - enabled
                        - numberOfItems
                      properties:
                        enabled:
                          type: boolean
                          description: When `true`, the dynamic reranker is enabled
                        filter:
                          type: string
                          description: Only items that meet this filter will be considered by the reranker
                        numberOfItems:
                          type: integer
                          description: Number of items that can be reranked in search results
                          minimum: 1
                          maximum: 50
                        minNumberOfEvents:
                          type: integer
                          description: If present, items with fewer events than this value will be filtered out from reranking.
                    queryClassification:
                      type: object
                      description: Query classification configuration
                      properties:
                        enabled:
                          type: boolean
                          description: When `true`, the query classification is enabled.
                        actions:
                          type: array
                          description: Search result actions with a minimum reliability level
                          items:
                            type: object
                            properties:
                              action:
                                type: string
                                description: |
                                  The action to perform when the reliability level from `minReliabilityLevel` is reached.
                                  - `staticFilter` will apply a static filter to limit the search results to the predicted category.
                                  - `elasticFilter` will apply an elastic filter - if there are not enough results from the predicted category, the AI engine will pick items from other categories to meet the minimum number of results.
                                  - `boosting` will increase the scores of items from the predicted category.

                                  If reliability levels are met for multiple actions, the priority is:
                                  1. static filter
                                  2. elastic filter
                                  3. boosting
                                enum:
                                  - staticFilter
                                  - elasticFilter
                                  - boosting
                              minReliabilityLevel:
                                type: string
                                description: |
                                  For each type of action, you can specify the minimum level required to trigger that action. A reliability level indicates how confident we are that a given prediction is the best choice.
                                enum:
                                  - certain
                                  - veryHigh
                                  - high
                                  - medium
                                  - low
                        excludedPhrases:
                          type: array
                          description: Phrases that will be excluded from query classification
                          items:
                            type: string
                        excludedCategories:
                          type: array
                          description: Categories that will be excluded from query classification
                          items:
                            type: string
                optimization:
                  type: object
                  description: Configuration for the search weight optimizer
                  properties:
                    enabled:
                      type: boolean
                      description: Gate for the optimization feature. items-search applies `optimizedWeights` (via `target` or a query-rule target) only when `true`.
                    target:
                      type: string
                      description: |
                        The optimization target for the weight optimizer. Specifies which metric to optimize for.
                        - `ctr` — Click-through rate
                        - `cr` — Conversion rate
                        - `revenue` — Revenue
                        - `ndcg` — Normalized Discounted Cumulative Gain
                        - `margin` — Margin
                      enum:
                        - ctr
                        - cr
                        - revenue
                        - ndcg
                        - margin
                    optimizedWeights:
                      type: object
                      description: Per-target optimization weight configuration, keyed by optimization target (ctr, cr, revenue, ndcg, margin)
                      additionalProperties:
                        type: object
                        description: Optimization weights for a specific target, containing optional base and DRR weights
                        properties:
                          baseWeights:
                            type: object
                            description: Base weight configuration for optimization
                            properties:
                              personalized:
                                type: number
                                format: float
                                description: Weight for personalization factor
                                minimum: 0
                                maximum: 5
                              transactionsPopularity:
                                type: number
                                format: float
                                description: Weight for transactions popularity
                                minimum: 0
                                maximum: 5
                              pageVisitsPopularity:
                                type: number
                                format: float
                                description: Weight for page visits popularity
                                minimum: 0
                                maximum: 5
                              transactions7DaysPopularity:
                                type: number
                                format: float
                                description: Weight for transactions popularity in the last 7 days
                                minimum: 0
                                maximum: 5
                              pageVisits7DaysPopularity:
                                type: number
                                format: float
                                description: Weight for page visits popularity in the last 7 days
                                minimum: 0
                                maximum: 5
                              revenueBoost:
                                type: number
                                format: float
                                description: Weight for revenue boost factor
                                minimum: 0
                                maximum: 5
                              conversionRateBoost:
                                type: number
                                format: float
                                description: Weight for conversion rate boost factor
                                minimum: 0
                                maximum: 5
                              fullTextMultipliers:
                                type: object
                                description: |
                                  Per-field-tier multipliers applied on top of the default full-text field boosts. Each tier is optional; an absent tier means no change (multiplier 1.0). Scale a tier down to stop it dominating (e.g. a rare description token outscoring a title match) or up to make it decisive.
                                properties:
                                  stronglyBoosted:
                                    type: number
                                    format: float
                                    description: Multiplier for the strongly-boosted tier (title, brand)
                                    minimum: 0
                                    maximum: 100
                                  boosted:
                                    type: number
                                    format: float
                                    description: Multiplier for the boosted tier (category)
                                    minimum: 0
                                    maximum: 100
                                  normal:
                                    type: number
                                    format: float
                                    description: Multiplier for the normal tier (description, color, itemId)
                                    minimum: 0
                                    maximum: 100
                          drrWeights:
                            type: object
                            description: Dynamic Reranker (DRR) weight configuration for optimization
                            properties:
                              searchDRRWeight:
                                type: number
                                format: float
                                description: Weight for search DRR signal
                                minimum: 0
                                maximum: 5
                              listingDRRWeight:
                                type: number
                                format: float
                                description: Weight for listing DRR signal
                                minimum: 0
                                maximum: 5
                              clickWeight:
                                type: number
                                format: float
                                description: Weight for click signal
                                minimum: 0
                                maximum: 5
                              buyWeight:
                                type: number
                                format: float
                                description: Weight for buy signal
                                minimum: 0
                                maximum: 5
                              revenueWeight:
                                type: number
                                format: float
                                description: Weight for revenue signal
                                minimum: 0
                                maximum: 5
                geoSearch:
                  type: object
                  description: Geo search configuration
                  properties:
                    geoSearchableAttribute:
                      type: string
                      description: |
                        Attribute that contains the geolocation of the product.
                        The attribute's value must be one of the following types:
                        - JSON object with `lat` and `lon` properties
                        - JSON array of objects containing `lat` and `lon` properties
                        - JSON string of format `latitude,longitude`
                        - JSON array of strings of format `latitude,longitude`
                queryRules:
                  description: Configuration for custom behavior of query rules at the index level.
                  type: object
                  properties:
                    consequencesJoinOperators:
                      type: object
                      description: |
                        Defines how filter consequences from multiple query rules are logically combined.
                        This setting determines whether those filters are joined using the AND or OR operator.
                      properties:
                        standardFilters:
                          type: string
                          description: |
                            Logical operator used to combine standard filters defined in the consequences of multiple query rules.
                            If not specified, the default operator is OR.
                          enum:
                            - AND
                            - OR
                          default: OR
                        elasticFilters:
                          type: string
                          description: |
                            Logical operator used to combine elastic filters defined in the consequences of multiple query rules.
                            If not specified, the default operator is OR.
                          enum:
                            - AND
                            - OR
                          default: OR
                indexType:
                  type: string
                  description: |
                    Purpose of the index. Defaults to `Product` when absent. `Document` enables RAG-style chunked article indexing, where each item's body field is split into passages and indexed as separate documents.
                    Immutable after creation: an update that changes `indexType` (including switching a `Document` index back to `Product` by omitting the field) is rejected. To change the type, create a new index.
                  enum:
                    - Product
                    - Document
                chunking:
                  type: object
                  description: |
                    Controls how a `Document` index splits each article body into passages. Only meaningful when `indexType=Document`; ignored for `Product` indices. All fields are optional — sensible defaults are applied when omitted.
                  properties:
                    strategy:
                      type: string
                      enum:
                        - section
                      default: section
                      description: |
                        Chunk strategy. `section` = heading-aware sections with nested passages (recommended for RAG).
                    tokenLimit:
                      type: integer
                      minimum: 1
                      default: 512
                      description: Target maximum tokens per chunk. An internal safety ratio keeps chunks comfortably under this budget.
                    overlapTokens:
                      type: integer
                      minimum: 0
                      default: 64
                      description: Tokens of the previous chunk prepended to the next, preserving cross-chunk context for retrieval.
                    minChunkTokens:
                      type: integer
                      minimum: 1
                      default: 16
                      description: Trailing chunks smaller than this fold into the preceding chunk to avoid sub-paragraph noise.
                documentFields:
                  type: object
                  description: |
                    Field mapping for `Document` indices. Required when `indexType=Document`.
                    Best practice: keep `searchableAttributes` minimal — typically `[title]` only. The article body named by `contentField` must NOT be listed in `searchableAttributes`; doing so duplicates the whole body into the parent search tiers on every chunk and is rejected with a 400.
                  required:
                    - contentField
                  properties:
                    contentField:
                      type: string
                      description: |
                        Item attribute holding the article body to be chunked. Dotted paths are supported for nested fields (e.g. `article.body`). Must reference an existing catalog attribute and must not appear in `searchableAttributes`.
                    titleField:
                      type: string
                      description: Item attribute holding the article title, denormalized onto every chunk for display and ranking. Must exist in the catalog.
                    contentFormat:
                      type: string
                      enum:
                        - Plaintext
                        - Markdown
                        - Html
                      default: Plaintext
                      description: How the body is parsed before chunking. `Markdown` and `Html` preserve structure; `Plaintext` splits on paragraph/sentence boundaries.
                    metadataFields:
                      type: array
                      description: Additional catalog attributes denormalized onto every chunk (e.g. author, publishedAt). Each must exist in the catalog.
                      items:
                        type: string
      responses:
        "200":
          description: Returned created configuration
          content:
            application/json:
              schema:
                type: object
                description: Details of a single index
                properties:
                  indexId:
                    type: string
                    description: ID of the index
                  indexName:
                    type: string
                    description: Human-friendly name of the index
                  description:
                    type: string
                    description: Description of the index
                  itemsCatalogId:
                    type: string
                    description: ID of the item catalog from which the index will be created
                  language:
                    type: string
                    description: Search language as ISO 639-1 code
                  enabled:
                    type: boolean
                    description: When `true`, the index is enabled and can be queried.
                  ignoreUnavailableItems:
                    type: boolean
                    description: When `true`, unavailable items are not indexed, which makes the search run faster.
                    default: true
                  scoring:
                    description: |
                      Item scoring settings that affect the presentation order of the results.

                      `0` means the lowest importance of a parameter, `1` is the highest importance.
                    type: object
                    properties:
                      pageVisitsPopularity:
                        description: The importance of how often the item page is visited
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      transactionsPopularity:
                        description: The importance of how often the item is included in transactions
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      personalized:
                        description: The importance of how relevant a item is to a profile according to the AI model
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      tieBreaker:
                        description: The importance of lesser phrase matches
                        type: number
                        format: float
                        default: 0
                        minimum: 0
                        maximum: 1
                      matching:
                        description: Controls how many clauses should be present in query
                        oneOf:
                          - type: object
                            description: Indicates number of mandatory clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MinimumMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Indicates number of optional clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MaximumNotMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Any of clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AnyMatching
                          - type: object
                            description: All clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AllMatching
                          - type: object
                            description: |
                              Matching that works differently depending on the number of terms in the search query.
                            properties:
                              type:
                                type: string
                                enum:
                                  - AdaptiveMatching
                              termsToMatch:
                                type: number
                                format: float
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 1
                                exclusiveMaximum: true
                                description: |
                                  Indicates the percentage of all query terms that should be matched.
                                  This matching is done using MinimumMatching with the value set to:
                                  `termsToMatch * n`, where n is a number of all terms in the search query.
                                  **If you define termsToMatch, you can't define termsToSubtract.**
                              termsToSubtract:
                                type: integer
                                minimum: 1
                                default: 1
                                description: |
                                  Indicates a fixed number that should be subtracted from
                                  the number of query terms that should match. This matching is done using
                                  MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                  a number of all terms in the search query.
                                  **If you define termsToSubtract, you can't define termsToMatch.**
                              termsToActivate:
                                type: integer
                                minimum: 1
                                default: 3
                                description: |
                                  Indicates how long (number of words) a search query must be to activate this mechanism.
                                  All queries that are shorter than termsToActivate will use AllMatching.
                      fallbackMatching:
                        description: |
                          Backup matching mode used in cases where the main matching mode
                          (specified in `matching` parameter) does not provide enough results (at least 5)
                        oneOf:
                          - type: object
                            description: Indicates number of mandatory clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MinimumMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Indicates number of optional clauses
                            properties:
                              type:
                                type: string
                                enum:
                                  - MaximumNotMatching
                              value:
                                type: integer
                                minimum: 1
                          - type: object
                            description: Any of clauses should match
                            properties:
                              type:
                                type: string
                                enum:
                                  - AnyMatching
                          - type: object
                            description: |
                              Matching that works differently depending on the number of terms in the search query.
                            properties:
                              type:
                                type: string
                                enum:
                                  - AdaptiveMatching
                              termsToMatch:
                                type: number
                                format: float
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 1
                                exclusiveMaximum: true
                                description: |
                                  Indicates the percentage of all query terms that should be matched.
                                  This matching is done using MinimumMatching with the value set to:
                                  `termsToMatch * n`, where n is a number of all terms in the search query.
                                  **If you define termsToMatch, you can't define termsToSubtract.**
                              termsToSubtract:
                                type: integer
                                minimum: 1
                                default: 1
                                description: |
                                  Indicates a fixed number that should be subtracted from
                                  the number of query terms that should match. This matching is done using
                                  MinimumMatching with the value set to `n - termsToSubtract`, where n is
                                  a number of all terms in the search query.
                                  **If you define termsToSubtract, you can't define termsToMatch.**
                              termsToActivate:
                                type: integer
                                minimum: 1
                                default: 3
                                description: |
                                  Indicates how long (number of words) a search query must be to activate this mechanism.
                                  All queries that are shorter than termsToActivate will use AllMatching.
                      similarity:
                        description: Defines how matching documents are scored
                        oneOf:
                          - type: object
                            description: Enhanced TF-IDF scoring model
                            properties:
                              type:
                                type: string
                                enum:
                                  - BM25
                              k1:
                                type: number
                                description: Controls non-linear term frequency normalization (saturation)
                                format: float
                                default: 1.2
                                minimum: 0
                                maximum: 10
                              b:
                                type: number
                                description: Controls to what degree document length normalizes tf values
                                format: float
                                default: 0.75
                                minimum: 0
                                maximum: 1
                          - type: object
                            description: Term frequency-inverse document frequency scoring model
                            properties:
                              type:
                                type: string
                                enum:
                                  - IDF
                      crossWorkspaceMode:
                        description: Cross workspace mode configuration
                        type: object
                        required:
                          - enabled
                        properties:
                          enabled:
                            description: When `true`, cross workspace search personalization mode is enabled
                            type: boolean
                  suggestions:
                    type: object
                    description: Controls manner in which suggestions are generated
                    properties:
                      smoothingModel:
                        type: string
                        description: Controls balance weight between infrequent grams and frequent grams
                        enum:
                          - Popularity
                          - Accuracy
                      gramSize:
                        type: integer
                        description: Describes max size of the n-grams in the field
                        default: 3
                        minimum: 1
                        maximum: 10
                      maxErrors:
                        type: integer
                        description: Maximum number of errors for terms to be considered as misspelling in order to for a correction
                        default: 2
                        minimum: 1
                        maximum: 5
                      minWordLength:
                        type: integer
                        description: The minimum length a suggest text term must have in order to be included
                        default: 4
                        minimum: 1
                      useAlways:
                        type: boolean
                        description: Controls is suggestions are used only if no documents match, or always
                        default: false
                  tokenizer:
                    description: Used for tokenizing full text into individual words
                    oneOf:
                      - type: object
                        description: The whitespace tokenizer divides text into terms whenever it encounters any whitespace character
                        properties:
                          type:
                            type: string
                            enum:
                              - Whitespace
                      - type: object
                        description: The standard tokenizer divides text into terms on word boundaries
                        properties:
                          type:
                            type: string
                            enum:
                              - Standard
                      - type: object
                        description: The pattern tokenizer uses a regular expression to either split text into terms whenever it matches a word separator
                        properties:
                          type:
                            type: string
                            enum:
                              - Pattern
                          pattern:
                            type: string
                            example: "[.,;]"
                  analyzers:
                    type: object
                    description: Controls analyzer settings.
                    required:
                      - autocomplete
                    properties:
                      autocomplete:
                        type: string
                        description: The completion method used.
                        enum:
                          - Ngram
                          - EdgeNgram
                          - NgramWithSynonyms
                          - EdgeNgramWithSynonyms
                          - DefaultWithSynonyms
                  attributesWithoutPrefixSearch:
                    type: array
                    description: Searchable attributes which will not be used in a prefix search
                    example:
                      - brand
                      - color
                      - promotion.type
                    items:
                      type: string
                  attributesWithoutTypoTolerance:
                    type: array
                    description: Searchable attributes for which typo tolerance is off
                    example:
                      - itemId
                      - link
                    items:
                      type: string
                  valuesWithoutTypoTolerance:
                    type: array
                    description: Attributes values for which typo tolerance is off
                    example:
                      - Nike
                      - blue
                      - "74997"
                    items:
                      type: string
                  typoToleranceOnNumericValues:
                    type: boolean
                    description: When `true`, typo tolerance is active on numbers
                    default: true
                  searchableAttributes:
                    description: |
                      The attributes that are taken into account as full text search terms
                    type: object
                    properties:
                      fullText:
                        type: array
                        description: The least important parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                      fullTextBoosted:
                        type: array
                        description: Medium-importance parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                      fullTextStronglyBoosted:
                        type: array
                        description: The most important parameters
                        example:
                          - brand
                          - color
                          - promotion.type
                        items:
                          type: string
                  displayableAttributes:
                    description: Attributes shown in the search results
                    example:
                      - brand
                      - color
                      - promotion.type
                    type: array
                    items:
                      type: string
                  facetableAttributes:
                    description: Attributes for which facets are returned in the search response. By default, all facetable attributes are also filterable and sortable.
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  filterableAttributes:
                    description: Attributes for which filters can be used
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  sortableAttributes:
                    description: Attributes using which search results can be sorted
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  distinctFilterAttributes:
                    description: Attributes for which distinct can be used
                    type: object
                    properties:
                      range:
                        type: array
                        description: Array of range attributes
                        example:
                          - age
                          - customScore.value
                          - salePrice.value
                        default: []
                        items:
                          type: string
                      text:
                        type: array
                        description: Array of text attributes
                        example:
                          - brand
                          - color
                          - promotion.type
                        default: []
                        items:
                          type: string
                      datetime:
                        type: array
                        description: Array of datetime attributes
                        example:
                          - created
                          - attributes.modifiedAt
                        default: []
                        items:
                          type: string
                  recentSearches:
                    type: object
                    description: Recent searches configuration
                    properties:
                      windowSize:
                        description: Amount of recent searches items to be returned
                        type: integer
                        example: 100
                      timeSpan:
                        type: object
                        description: Defines period for which recent searches are to be returned
                        properties:
                          type:
                            description: One of the following time units
                            type: string
                            enum:
                              - YEARS
                              - MONTHS
                              - WEEKS
                              - DAYS
                              - HOURS
                              - MINUTES
                              - SECONDS
                            example: DAYS
                          value:
                            description: Value corresponding with the time unit
                            type: integer
                            example: 30
                  reranking:
                    type: object
                    description: Reranking configuration
                    properties:
                      dynamicReranker:
                        type: object
                        description: Dynamic reranker configuration
                        required:
                          - enabled
                          - numberOfItems
                        properties:
                          enabled:
                            type: boolean
                            description: When `true`, the dynamic reranker is enabled
                          filter:
                            type: string
                            description: Only items that meet this filter will be considered by the reranker
                          numberOfItems:
                            type: integer
                            description: Number of items that can be reranked in search results
                            minimum: 1
                            maximum: 50
                          minNumberOfEvents:
                            type: integer
                            description: If present, items with fewer events than this value will be filtered out from reranking.
                      queryClassification:
                        type: object
                        description: Query classification configuration
                        properties:
                          enabled:
                            type: boolean
                            description: When `true`, the query classification is enabled.
                          actions:
                            type: array
                            description: Search result actions with a minimum reliability level
                            items:
                              type: object
                              properties:
                                action:
                                  type: string
                                  description: |
                                    The action to perform when the reliability level from `minReliabilityLevel` is reached.
                                    - `staticFilter` will apply a static filter to limit the search results to the predicted category.
                                    - `elasticFilter` will apply an elastic filter - if there are not enough results from the predicted category, the AI engine will pick items from other categories to meet the minimum number of results.
                                    - `boosting` will increase the scores of items from the predicted category.

                                    If reliability levels are met for multiple actions, the priority is:
                                    1. static filter
                                    2. elastic filter
                                    3. boosting
                                  enum:
                                    - staticFilter
                                    - elasticFilter
                                    - boosting
                                minReliabilityLevel:
                                  type: string
                                  description: |
                                    For each type of action, you can specify the minimum level required to trigger that action. A reliability level indicates how confident we are that a given prediction is the best choice.
                                  enum:
                                    - certain
                                    - veryHigh
                                    - high
                                    - medium
                                    - low
                          excludedPhrases:
                            type: array
                            description: Phrases that will be excluded from query classification
                            items:
                              type: string
                          excludedCategories:
                            type: array
                            description: Categories that will be excluded from query classification
                            items:
                              type: string
                  optimization:
                    type: object
                    description: Configuration for the search weight optimizer
                    properties:
                      enabled:
                        type: boolean
                        description: Gate for the optimization feature. items-search applies `optimizedWeights` (via `target` or a query-rule target) only when `true`.
                      target:
                        type: string
                        description: |
                          The optimization target for the weight optimizer. Specifies which metric to optimize for.
                          - `ctr` — Click-through rate
                          - `cr` — Conversion rate
                          - `revenue` — Revenue
                          - `ndcg` — Normalized Discounted Cumulative Gain
                          - `margin` — Margin
                        enum:
                          - ctr
                          - cr
                          - revenue
                          - ndcg
                          - margin
                      optimizedWeights:
                        type: object
                        description: Per-target optimization weight configuration, keyed by optimization target (ctr, cr, revenue, ndcg, margin)
                        additionalProperties:
                          type: object
                          description: Optimization weights for a specific target, containing optional base and DRR weights
                          properties:
                            baseWeights:
                              type: object
                              description: Base weight configuration for optimization
                              properties:
                                personalized:
                                  type: number
                                  format: float
                                  description: Weight for personalization factor
                                  minimum: 0
                                  maximum: 5
                                transactionsPopularity:
                                  type: number
                                  format: float
                                  description: Weight for transactions popularity
                                  minimum: 0
                                  maximum: 5
                                pageVisitsPopularity:
                                  type: number
                                  format: float
                                  description: Weight for page visits popularity
                                  minimum: 0
                                  maximum: 5
                                transactions7DaysPopularity:
                                  type: number
                                  format: float
                                  description: Weight for transactions popularity in the last 7 days
                                  minimum: 0
                                  maximum: 5
                                pageVisits7DaysPopularity:
                                  type: number
                                  format: float
                                  description: Weight for page visits popularity in the last 7 days
                                  minimum: 0
                                  maximum: 5
                                revenueBoost:
                                  type: number
                                  format: float
                                  description: Weight for revenue boost factor
                                  minimum: 0
                                  maximum: 5
                                conversionRateBoost:
                                  type: number
                                  format: float
                                  description: Weight for conversion rate boost factor
                                  minimum: 0
                                  maximum: 5
                                fullTextMultipliers:
                                  type: object
                                  description: |
                                    Per-field-tier multipliers applied on top of the default full-text field boosts. Each tier is optional; an absent tier means no change (multiplier 1.0). Scale a tier down to stop it dominating (e.g. a rare description token outscoring a title match) or up to make it decisive.
                                  properties:
                                    stronglyBoosted:
                                      type: number
                                      format: float
                                      description: Multiplier for the strongly-boosted tier (title, brand)
                                      minimum: 0
                                      maximum: 100
                                    boosted:
                                      type: number
                                      format: float
                                      description: Multiplier for the boosted tier (category)
                                      minimum: 0
                                      maximum: 100
                                    normal:
                                      type: number
                                      format: float
                                      description: Multiplier for the normal tier (description, color, itemId)
                                      minimum: 0
                                      maximum: 100
                            drrWeights:
                              type: object
                              description: Dynamic Reranker (DRR) weight configuration for optimization
                              properties:
                                searchDRRWeight:
                                  type: number
                                  format: float
                                  description: Weight for search DRR signal
                                  minimum: 0
                                  maximum: 5
                                listingDRRWeight:
                                  type: number
                                  format: float
                                  description: Weight for listing DRR signal
                                  minimum: 0
                                  maximum: 5
                                clickWeight:
                                  type: number
                                  format: float
                                  description: Weight for click signal
                                  minimum: 0
                                  maximum: 5
                                buyWeight:
                                  type: number
                                  format: float
                                  description: Weight for buy signal
                                  minimum: 0
                                  maximum: 5
                                revenueWeight:
                                  type: number
                                  format: float
                                  description: Weight for revenue signal
                                  minimum: 0
                                  maximum: 5
                  dynamicSynonyms:
                    type: object
                    description: Dynamic synonyms configuration
                    required:
                      - enabled
                      - workflowIntervalDays
                    properties:
                      enabled:
                        type: boolean
                        description: When `true`, dynamic synonyms are enabled
                      workflowIntervalDays:
                        type: integer
                        description: Interval in days between synonym workflow runs
                        minimum: 7
                        maximum: 31
                        example: 14
                      coldStart:
                        type: boolean
                        description: Enables cold start mode for dynamic synonyms. Once enabled, it cannot be disabled. When enabled for the first time, a cold-start-agent resource is created with NOT READY state.
                        default: false
                        example: false
                      autoAcceptThreshold:
                        type: number
                        format: float
                        description: Threshold for automatic synonym acceptance. Must be in [0, 1] range.
                        minimum: 0
                        maximum: 1
                        example: 0.8
                  dynamicFacets:
                    type: object
                    description: Dynamic facets configuration
                    required:
                      - enabled
                      - maxFacets
                    properties:
                      enabled:
                        type: boolean
                        description: When `true`, dynamic facets are enabled.
                      maxFacets:
                        type: integer
                        description: Maximum number of dynamic facets to return. Must be non-negative.
                        minimum: 0
                        example: 10
                      minCoverageThreshold:
                        type: number
                        format: float
                        description: |
                          Minimum coverage threshold for a facet to be included. Must be in [0, 1] range. 
                          Coverage is `M/N`, where:
                          - `M` is the number of occurrences of a facet in the search results.
                          - `N` is the total number of results.
                          Higher coverage values mean that a facet is more relevant.
                        minimum: 0
                        maximum: 1
                        example: 0.1
                      objective:
                        type: string
                        description: Objective used to select dynamic facets.
                        enum:
                          - coverage
                          - popularity
                        example: coverage
                  geoSearch:
                    type: object
                    description: Geo search configuration
                    properties:
                      geoSearchableAttribute:
                        type: string
                        description: |
                          Attribute that contains the geolocation of the product.
                          The attribute's value must be one of the following types:
                          - JSON object with `lat` and `lon` properties
                          - JSON array of objects containing `lat` and `lon` properties
                          - JSON string of format `latitude,longitude`
                          - JSON array of strings of format `latitude,longitude`
                  queryRules:
                    description: Configuration for custom behavior of query rules at the index level.
                    type: object
                    properties:
                      consequencesJoinOperators:
                        type: object
                        description: |
                          Defines how filter consequences from multiple query rules are logically combined.
                          This setting determines whether those filters are joined using the AND or OR operator.
                        properties:
                          standardFilters:
                            type: string
                            description: |
                              Logical operator used to combine standard filters defined in the consequences of multiple query rules.
                              If not specified, the default operator is OR.
                            enum:
                              - AND
                              - OR
                            default: OR
                          elasticFilters:
                            type: string
                            description: |
                              Logical operator used to combine elastic filters defined in the consequences of multiple query rules.
                              If not specified, the default operator is OR.
                            enum:
                              - AND
                              - OR
                            default: OR
                  updatedAt:
                    type: string
                    format: date-time
                    description: Last update time in YYYY-MM-DDThh:mm:ssZ format (ISO 8601, UTC)
                  createdAt:
                    type: string
                    format: date-time
                    description: Creation time in YYYY-MM-DDThh:mm:ssZ format (ISO 8601, UTC)
                  indexType:
                    type: string
                    description: |
                      Purpose of the index. Defaults to `Product` when absent. `Document` enables RAG-style chunked article indexing, where each item's body field is split into passages and indexed as separate documents.
                      Immutable after creation: an update that changes `indexType` (including switching a `Document` index back to `Product` by omitting the field) is rejected. To change the type, create a new index.
                    enum:
                      - Product
                      - Document
                  chunking:
                    type: object
                    description: |
                      Controls how a `Document` index splits each article body into passages. Only meaningful when `indexType=Document`; ignored for `Product` indices. All fields are optional — sensible defaults are applied when omitted.
                    properties:
                      strategy:
                        type: string
                        enum:
                          - section
                        default: section
                        description: |
                          Chunk strategy. `section` = heading-aware sections with nested passages (recommended for RAG).
                      tokenLimit:
                        type: integer
                        minimum: 1
                        default: 512
                        description: Target maximum tokens per chunk. An internal safety ratio keeps chunks comfortably under this budget.
                      overlapTokens:
                        type: integer
                        minimum: 0
                        default: 64
                        description: Tokens of the previous chunk prepended to the next, preserving cross-chunk context for retrieval.
                      minChunkTokens:
                        type: integer
                        minimum: 1
                        default: 16
                        description: Trailing chunks smaller than this fold into the preceding chunk to avoid sub-paragraph noise.
                  documentFields:
                    type: object
                    description: |
                      Field mapping for `Document` indices. Required when `indexType=Document`.
                      Best practice: keep `searchableAttributes` minimal — typically `[title]` only. The article body named by `contentField` must NOT be listed in `searchableAttributes`; doing so duplicates the whole body into the parent search tiers on every chunk and is rejected with a 400.
                    required:
                      - contentField
                    properties:
                      contentField:
                        type: string
                        description: |
                          Item attribute holding the article body to be chunked. Dotted paths are supported for nested fields (e.g. `article.body`). Must reference an existing catalog attribute and must not appear in `searchableAttributes`.
                      titleField:
                        type: string
                        description: Item attribute holding the article title, denormalized onto every chunk for display and ranking. Must exist in the catalog.
                      contentFormat:
                        type: string
                        enum:
                          - Plaintext
                          - Markdown
                          - Html
                        default: Plaintext
                        description: How the body is parsed before chunking. `Markdown` and `Html` preserve structure; `Plaintext` splits on paragraph/sentence boundaries.
                      metadataFields:
                        type: array
                        description: Additional catalog attributes denormalized onto every chunk (e.g. author, publishedAt). Each must exist in the catalog.
                        items:
                          type: string
        "500":
          description: Service not available
          content:
            application/json:
              schema:
                type: object
                properties:
                  timestamp:
                    type: string
                    format: date-time
                    description: Time when the error occurred
                  status:
                    type: integer
                    description: Status code
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Description of the problem
                  path:
                    type: string
                    description: URL of the requested resource
                required:
                  - timestamp
                  - status
                  - message
      x-snr-doc-urls:
        - /api-reference/ai-search#tag/Search-Configuration/operation/postIndexConfigV2
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.synerise.com/search/v2/indices \
              --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
              --header 'content-type: application/json' \
              --data '{"indexName":"string","description":"string","itemsCatalogId":"string","language":"string","enabled":true,"ignoreUnavailableItems":true,"scoring":{"pageVisitsPopularity":0,"transactionsPopularity":0,"personalized":0,"tieBreaker":0,"matching":{"type":"MinimumMatching","value":1},"fallbackMatching":{"type":"MinimumMatching","value":1},"similarity":{"type":"BM25","k1":1.2,"b":0.75},"crossWorkspaceMode":{"enabled":true}},"suggestions":{"smoothingModel":"Popularity","gramSize":3,"maxErrors":2,"minWordLength":4,"useAlways":false},"tokenizer":{"type":"Whitespace"},"analyzers":{"autocomplete":"Ngram"},"attributesWithoutPrefixSearch":["brand","color","promotion.type"],"attributesWithoutTypoTolerance":["itemId","link"],"valuesWithoutTypoTolerance":["Nike","blue","74997"],"typoToleranceOnNumericValues":true,"searchableAttributes":{"fullText":["brand","color","promotion.type"],"fullTextBoosted":["brand","color","promotion.type"],"fullTextStronglyBoosted":["brand","color","promotion.type"]},"displayableAttributes":["brand","color","promotion.type"],"facetableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"filterableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"sortableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"distinctFilterAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"recentSearches":{"windowSize":100,"timeSpan":{"type":"DAYS","value":30}},"reranking":{"dynamicReranker":{"enabled":true,"filter":"string","numberOfItems":1,"minNumberOfEvents":0},"queryClassification":{"enabled":true,"actions":[{"action":"staticFilter","minReliabilityLevel":"certain"}],"excludedPhrases":["string"],"excludedCategories":["string"]}},"optimization":{"enabled":true,"target":"ctr","optimizedWeights":{"property1":{"baseWeights":{"personalized":5,"transactionsPopularity":5,"pageVisitsPopularity":5,"transactions7DaysPopularity":5,"pageVisits7DaysPopularity":5,"revenueBoost":5,"conversionRateBoost":5,"fullTextMultipliers":{"stronglyBoosted":100,"boosted":100,"normal":100}},"drrWeights":{"searchDRRWeight":5,"listingDRRWeight":5,"clickWeight":5,"buyWeight":5,"revenueWeight":5}},"property2":{"baseWeights":{"personalized":5,"transactionsPopularity":5,"pageVisitsPopularity":5,"transactions7DaysPopularity":5,"pageVisits7DaysPopularity":5,"revenueBoost":5,"conversionRateBoost":5,"fullTextMultipliers":{"stronglyBoosted":100,"boosted":100,"normal":100}},"drrWeights":{"searchDRRWeight":5,"listingDRRWeight":5,"clickWeight":5,"buyWeight":5,"revenueWeight":5}}}},"geoSearch":{"geoSearchableAttribute":"string"},"queryRules":{"consequencesJoinOperators":{"standardFilters":"AND","elasticFilters":"AND"}},"indexType":"Product","chunking":{"strategy":"section","tokenLimit":512,"overlapTokens":64,"minChunkTokens":16},"documentFields":{"contentField":"string","titleField":"string","contentFormat":"Plaintext","metadataFields":["string"]}}'
        - lang: Python
          label: Python
          source: |-
            import http.client

            conn = http.client.HTTPSConnection("api.synerise.com")

            payload = "{\"indexName\":\"string\",\"description\":\"string\",\"itemsCatalogId\":\"string\",\"language\":\"string\",\"enabled\":true,\"ignoreUnavailableItems\":true,\"scoring\":{\"pageVisitsPopularity\":0,\"transactionsPopularity\":0,\"personalized\":0,\"tieBreaker\":0,\"matching\":{\"type\":\"MinimumMatching\",\"value\":1},\"fallbackMatching\":{\"type\":\"MinimumMatching\",\"value\":1},\"similarity\":{\"type\":\"BM25\",\"k1\":1.2,\"b\":0.75},\"crossWorkspaceMode\":{\"enabled\":true}},\"suggestions\":{\"smoothingModel\":\"Popularity\",\"gramSize\":3,\"maxErrors\":2,\"minWordLength\":4,\"useAlways\":false},\"tokenizer\":{\"type\":\"Whitespace\"},\"analyzers\":{\"autocomplete\":\"Ngram\"},\"attributesWithoutPrefixSearch\":[\"brand\",\"color\",\"promotion.type\"],\"attributesWithoutTypoTolerance\":[\"itemId\",\"link\"],\"valuesWithoutTypoTolerance\":[\"Nike\",\"blue\",\"74997\"],\"typoToleranceOnNumericValues\":true,\"searchableAttributes\":{\"fullText\":[\"brand\",\"color\",\"promotion.type\"],\"fullTextBoosted\":[\"brand\",\"color\",\"promotion.type\"],\"fullTextStronglyBoosted\":[\"brand\",\"color\",\"promotion.type\"]},\"displayableAttributes\":[\"brand\",\"color\",\"promotion.type\"],\"facetableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"filterableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"sortableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"distinctFilterAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"recentSearches\":{\"windowSize\":100,\"timeSpan\":{\"type\":\"DAYS\",\"value\":30}},\"reranking\":{\"dynamicReranker\":{\"enabled\":true,\"filter\":\"string\",\"numberOfItems\":1,\"minNumberOfEvents\":0},\"queryClassification\":{\"enabled\":true,\"actions\":[{\"action\":\"staticFilter\",\"minReliabilityLevel\":\"certain\"}],\"excludedPhrases\":[\"string\"],\"excludedCategories\":[\"string\"]}},\"optimization\":{\"enabled\":true,\"target\":\"ctr\",\"optimizedWeights\":{\"property1\":{\"baseWeights\":{\"personalized\":5,\"transactionsPopularity\":5,\"pageVisitsPopularity\":5,\"transactions7DaysPopularity\":5,\"pageVisits7DaysPopularity\":5,\"revenueBoost\":5,\"conversionRateBoost\":5,\"fullTextMultipliers\":{\"stronglyBoosted\":100,\"boosted\":100,\"normal\":100}},\"drrWeights\":{\"searchDRRWeight\":5,\"listingDRRWeight\":5,\"clickWeight\":5,\"buyWeight\":5,\"revenueWeight\":5}},\"property2\":{\"baseWeights\":{\"personalized\":5,\"transactionsPopularity\":5,\"pageVisitsPopularity\":5,\"transactions7DaysPopularity\":5,\"pageVisits7DaysPopularity\":5,\"revenueBoost\":5,\"conversionRateBoost\":5,\"fullTextMultipliers\":{\"stronglyBoosted\":100,\"boosted\":100,\"normal\":100}},\"drrWeights\":{\"searchDRRWeight\":5,\"listingDRRWeight\":5,\"clickWeight\":5,\"buyWeight\":5,\"revenueWeight\":5}}}},\"geoSearch\":{\"geoSearchableAttribute\":\"string\"},\"queryRules\":{\"consequencesJoinOperators\":{\"standardFilters\":\"AND\",\"elasticFilters\":\"AND\"}},\"indexType\":\"Product\",\"chunking\":{\"strategy\":\"section\",\"tokenLimit\":512,\"overlapTokens\":64,\"minChunkTokens\":16},\"documentFields\":{\"contentField\":\"string\",\"titleField\":\"string\",\"contentFormat\":\"Plaintext\",\"metadataFields\":[\"string\"]}}"

            headers = {
                'Authorization': "Bearer REPLACE_BEARER_TOKEN",
                'content-type': "application/json"
                }

            conn.request("POST", "/search/v2/indices", payload, headers)

            res = conn.getresponse()
            data = res.read()

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = JSON.stringify({
              "indexName": "string",
              "description": "string",
              "itemsCatalogId": "string",
              "language": "string",
              "enabled": true,
              "ignoreUnavailableItems": true,
              "scoring": {
                "pageVisitsPopularity": 0,
                "transactionsPopularity": 0,
                "personalized": 0,
                "tieBreaker": 0,
                "matching": {
                  "type": "MinimumMatching",
                  "value": 1
                },
                "fallbackMatching": {
                  "type": "MinimumMatching",
                  "value": 1
                },
                "similarity": {
                  "type": "BM25",
                  "k1": 1.2,
                  "b": 0.75
                },
                "crossWorkspaceMode": {
                  "enabled": true
                }
              },
              "suggestions": {
                "smoothingModel": "Popularity",
                "gramSize": 3,
                "maxErrors": 2,
                "minWordLength": 4,
                "useAlways": false
              },
              "tokenizer": {
                "type": "Whitespace"
              },
              "analyzers": {
                "autocomplete": "Ngram"
              },
              "attributesWithoutPrefixSearch": [
                "brand",
                "color",
                "promotion.type"
              ],
              "attributesWithoutTypoTolerance": [
                "itemId",
                "link"
              ],
              "valuesWithoutTypoTolerance": [
                "Nike",
                "blue",
                "74997"
              ],
              "typoToleranceOnNumericValues": true,
              "searchableAttributes": {
                "fullText": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "fullTextBoosted": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "fullTextStronglyBoosted": [
                  "brand",
                  "color",
                  "promotion.type"
                ]
              },
              "displayableAttributes": [
                "brand",
                "color",
                "promotion.type"
              ],
              "facetableAttributes": {
                "range": [
                  "age",
                  "customScore.value",
                  "salePrice.value"
                ],
                "text": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "datetime": [
                  "created",
                  "attributes.modifiedAt"
                ]
              },
              "filterableAttributes": {
                "range": [
                  "age",
                  "customScore.value",
                  "salePrice.value"
                ],
                "text": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "datetime": [
                  "created",
                  "attributes.modifiedAt"
                ]
              },
              "sortableAttributes": {
                "range": [
                  "age",
                  "customScore.value",
                  "salePrice.value"
                ],
                "text": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "datetime": [
                  "created",
                  "attributes.modifiedAt"
                ]
              },
              "distinctFilterAttributes": {
                "range": [
                  "age",
                  "customScore.value",
                  "salePrice.value"
                ],
                "text": [
                  "brand",
                  "color",
                  "promotion.type"
                ],
                "datetime": [
                  "created",
                  "attributes.modifiedAt"
                ]
              },
              "recentSearches": {
                "windowSize": 100,
                "timeSpan": {
                  "type": "DAYS",
                  "value": 30
                }
              },
              "reranking": {
                "dynamicReranker": {
                  "enabled": true,
                  "filter": "string",
                  "numberOfItems": 1,
                  "minNumberOfEvents": 0
                },
                "queryClassification": {
                  "enabled": true,
                  "actions": [
                    {
                      "action": "staticFilter",
                      "minReliabilityLevel": "certain"
                    }
                  ],
                  "excludedPhrases": [
                    "string"
                  ],
                  "excludedCategories": [
                    "string"
                  ]
                }
              },
              "optimization": {
                "enabled": true,
                "target": "ctr",
                "optimizedWeights": {
                  "property1": {
                    "baseWeights": {
                      "personalized": 5,
                      "transactionsPopularity": 5,
                      "pageVisitsPopularity": 5,
                      "transactions7DaysPopularity": 5,
                      "pageVisits7DaysPopularity": 5,
                      "revenueBoost": 5,
                      "conversionRateBoost": 5,
                      "fullTextMultipliers": {
                        "stronglyBoosted": 100,
                        "boosted": 100,
                        "normal": 100
                      }
                    },
                    "drrWeights": {
                      "searchDRRWeight": 5,
                      "listingDRRWeight": 5,
                      "clickWeight": 5,
                      "buyWeight": 5,
                      "revenueWeight": 5
                    }
                  },
                  "property2": {
                    "baseWeights": {
                      "personalized": 5,
                      "transactionsPopularity": 5,
                      "pageVisitsPopularity": 5,
                      "transactions7DaysPopularity": 5,
                      "pageVisits7DaysPopularity": 5,
                      "revenueBoost": 5,
                      "conversionRateBoost": 5,
                      "fullTextMultipliers": {
                        "stronglyBoosted": 100,
                        "boosted": 100,
                        "normal": 100
                      }
                    },
                    "drrWeights": {
                      "searchDRRWeight": 5,
                      "listingDRRWeight": 5,
                      "clickWeight": 5,
                      "buyWeight": 5,
                      "revenueWeight": 5
                    }
                  }
                }
              },
              "geoSearch": {
                "geoSearchableAttribute": "string"
              },
              "queryRules": {
                "consequencesJoinOperators": {
                  "standardFilters": "AND",
                  "elasticFilters": "AND"
                }
              },
              "indexType": "Product",
              "chunking": {
                "strategy": "section",
                "tokenLimit": 512,
                "overlapTokens": 64,
                "minChunkTokens": 16
              },
              "documentFields": {
                "contentField": "string",
                "titleField": "string",
                "contentFormat": "Plaintext",
                "metadataFields": [
                  "string"
                ]
              }
            });

            const xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function () {
              if (this.readyState === this.DONE) {
                console.log(this.responseText);
              }
            });

            xhr.open("POST", "https://api.synerise.com/search/v2/indices");
            xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
            xhr.setRequestHeader("content-type", "application/json");

            xhr.send(data);
        - lang: Node.js
          label: Node.js
          source: |-
            const http = require("https");

            const options = {
              "method": "POST",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/search/v2/indices",
              "headers": {
                "Authorization": "Bearer REPLACE_BEARER_TOKEN",
                "content-type": "application/json"
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on("data", function (chunk) {
                chunks.push(chunk);
              });

              res.on("end", function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              indexName: 'string',
              description: 'string',
              itemsCatalogId: 'string',
              language: 'string',
              enabled: true,
              ignoreUnavailableItems: true,
              scoring: {
                pageVisitsPopularity: 0,
                transactionsPopularity: 0,
                personalized: 0,
                tieBreaker: 0,
                matching: {type: 'MinimumMatching', value: 1},
                fallbackMatching: {type: 'MinimumMatching', value: 1},
                similarity: {type: 'BM25', k1: 1.2, b: 0.75},
                crossWorkspaceMode: {enabled: true}
              },
              suggestions: {
                smoothingModel: 'Popularity',
                gramSize: 3,
                maxErrors: 2,
                minWordLength: 4,
                useAlways: false
              },
              tokenizer: {type: 'Whitespace'},
              analyzers: {autocomplete: 'Ngram'},
              attributesWithoutPrefixSearch: ['brand', 'color', 'promotion.type'],
              attributesWithoutTypoTolerance: ['itemId', 'link'],
              valuesWithoutTypoTolerance: ['Nike', 'blue', '74997'],
              typoToleranceOnNumericValues: true,
              searchableAttributes: {
                fullText: ['brand', 'color', 'promotion.type'],
                fullTextBoosted: ['brand', 'color', 'promotion.type'],
                fullTextStronglyBoosted: ['brand', 'color', 'promotion.type']
              },
              displayableAttributes: ['brand', 'color', 'promotion.type'],
              facetableAttributes: {
                range: ['age', 'customScore.value', 'salePrice.value'],
                text: ['brand', 'color', 'promotion.type'],
                datetime: ['created', 'attributes.modifiedAt']
              },
              filterableAttributes: {
                range: ['age', 'customScore.value', 'salePrice.value'],
                text: ['brand', 'color', 'promotion.type'],
                datetime: ['created', 'attributes.modifiedAt']
              },
              sortableAttributes: {
                range: ['age', 'customScore.value', 'salePrice.value'],
                text: ['brand', 'color', 'promotion.type'],
                datetime: ['created', 'attributes.modifiedAt']
              },
              distinctFilterAttributes: {
                range: ['age', 'customScore.value', 'salePrice.value'],
                text: ['brand', 'color', 'promotion.type'],
                datetime: ['created', 'attributes.modifiedAt']
              },
              recentSearches: {windowSize: 100, timeSpan: {type: 'DAYS', value: 30}},
              reranking: {
                dynamicReranker: {enabled: true, filter: 'string', numberOfItems: 1, minNumberOfEvents: 0},
                queryClassification: {
                  enabled: true,
                  actions: [{action: 'staticFilter', minReliabilityLevel: 'certain'}],
                  excludedPhrases: ['string'],
                  excludedCategories: ['string']
                }
              },
              optimization: {
                enabled: true,
                target: 'ctr',
                optimizedWeights: {
                  property1: {
                    baseWeights: {
                      personalized: 5,
                      transactionsPopularity: 5,
                      pageVisitsPopularity: 5,
                      transactions7DaysPopularity: 5,
                      pageVisits7DaysPopularity: 5,
                      revenueBoost: 5,
                      conversionRateBoost: 5,
                      fullTextMultipliers: {stronglyBoosted: 100, boosted: 100, normal: 100}
                    },
                    drrWeights: {
                      searchDRRWeight: 5,
                      listingDRRWeight: 5,
                      clickWeight: 5,
                      buyWeight: 5,
                      revenueWeight: 5
                    }
                  },
                  property2: {
                    baseWeights: {
                      personalized: 5,
                      transactionsPopularity: 5,
                      pageVisitsPopularity: 5,
                      transactions7DaysPopularity: 5,
                      pageVisits7DaysPopularity: 5,
                      revenueBoost: 5,
                      conversionRateBoost: 5,
                      fullTextMultipliers: {stronglyBoosted: 100, boosted: 100, normal: 100}
                    },
                    drrWeights: {
                      searchDRRWeight: 5,
                      listingDRRWeight: 5,
                      clickWeight: 5,
                      buyWeight: 5,
                      revenueWeight: 5
                    }
                  }
                }
              },
              geoSearch: {geoSearchableAttribute: 'string'},
              queryRules: {consequencesJoinOperators: {standardFilters: 'AND', elasticFilters: 'AND'}},
              indexType: 'Product',
              chunking: {strategy: 'section', tokenLimit: 512, overlapTokens: 64, minChunkTokens: 16},
              documentFields: {
                contentField: 'string',
                titleField: 'string',
                contentFormat: 'Plaintext',
                metadataFields: ['string']
              }
            }));
            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

            $request = new HttpRequest();
            $request->setUrl('https://api.synerise.com/search/v2/indices');
            $request->setMethod(HTTP_METH_POST);

            $request->setHeaders([
              'Authorization' => 'Bearer REPLACE_BEARER_TOKEN',
              'content-type' => 'application/json'
            ]);

            $request->setBody('{"indexName":"string","description":"string","itemsCatalogId":"string","language":"string","enabled":true,"ignoreUnavailableItems":true,"scoring":{"pageVisitsPopularity":0,"transactionsPopularity":0,"personalized":0,"tieBreaker":0,"matching":{"type":"MinimumMatching","value":1},"fallbackMatching":{"type":"MinimumMatching","value":1},"similarity":{"type":"BM25","k1":1.2,"b":0.75},"crossWorkspaceMode":{"enabled":true}},"suggestions":{"smoothingModel":"Popularity","gramSize":3,"maxErrors":2,"minWordLength":4,"useAlways":false},"tokenizer":{"type":"Whitespace"},"analyzers":{"autocomplete":"Ngram"},"attributesWithoutPrefixSearch":["brand","color","promotion.type"],"attributesWithoutTypoTolerance":["itemId","link"],"valuesWithoutTypoTolerance":["Nike","blue","74997"],"typoToleranceOnNumericValues":true,"searchableAttributes":{"fullText":["brand","color","promotion.type"],"fullTextBoosted":["brand","color","promotion.type"],"fullTextStronglyBoosted":["brand","color","promotion.type"]},"displayableAttributes":["brand","color","promotion.type"],"facetableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"filterableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"sortableAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"distinctFilterAttributes":{"range":["age","customScore.value","salePrice.value"],"text":["brand","color","promotion.type"],"datetime":["created","attributes.modifiedAt"]},"recentSearches":{"windowSize":100,"timeSpan":{"type":"DAYS","value":30}},"reranking":{"dynamicReranker":{"enabled":true,"filter":"string","numberOfItems":1,"minNumberOfEvents":0},"queryClassification":{"enabled":true,"actions":[{"action":"staticFilter","minReliabilityLevel":"certain"}],"excludedPhrases":["string"],"excludedCategories":["string"]}},"optimization":{"enabled":true,"target":"ctr","optimizedWeights":{"property1":{"baseWeights":{"personalized":5,"transactionsPopularity":5,"pageVisitsPopularity":5,"transactions7DaysPopularity":5,"pageVisits7DaysPopularity":5,"revenueBoost":5,"conversionRateBoost":5,"fullTextMultipliers":{"stronglyBoosted":100,"boosted":100,"normal":100}},"drrWeights":{"searchDRRWeight":5,"listingDRRWeight":5,"clickWeight":5,"buyWeight":5,"revenueWeight":5}},"property2":{"baseWeights":{"personalized":5,"transactionsPopularity":5,"pageVisitsPopularity":5,"transactions7DaysPopularity":5,"pageVisits7DaysPopularity":5,"revenueBoost":5,"conversionRateBoost":5,"fullTextMultipliers":{"stronglyBoosted":100,"boosted":100,"normal":100}},"drrWeights":{"searchDRRWeight":5,"listingDRRWeight":5,"clickWeight":5,"buyWeight":5,"revenueWeight":5}}}},"geoSearch":{"geoSearchableAttribute":"string"},"queryRules":{"consequencesJoinOperators":{"standardFilters":"AND","elasticFilters":"AND"}},"indexType":"Product","chunking":{"strategy":"section","tokenLimit":512,"overlapTokens":64,"minChunkTokens":16},"documentFields":{"contentField":"string","titleField":"string","contentFormat":"Plaintext","metadataFields":["string"]}}');

            try {
              $response = $request->send();

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.post("https://api.synerise.com/search/v2/indices")
              .header("Authorization", "Bearer REPLACE_BEARER_TOKEN")
              .header("content-type", "application/json")
              .body("{\"indexName\":\"string\",\"description\":\"string\",\"itemsCatalogId\":\"string\",\"language\":\"string\",\"enabled\":true,\"ignoreUnavailableItems\":true,\"scoring\":{\"pageVisitsPopularity\":0,\"transactionsPopularity\":0,\"personalized\":0,\"tieBreaker\":0,\"matching\":{\"type\":\"MinimumMatching\",\"value\":1},\"fallbackMatching\":{\"type\":\"MinimumMatching\",\"value\":1},\"similarity\":{\"type\":\"BM25\",\"k1\":1.2,\"b\":0.75},\"crossWorkspaceMode\":{\"enabled\":true}},\"suggestions\":{\"smoothingModel\":\"Popularity\",\"gramSize\":3,\"maxErrors\":2,\"minWordLength\":4,\"useAlways\":false},\"tokenizer\":{\"type\":\"Whitespace\"},\"analyzers\":{\"autocomplete\":\"Ngram\"},\"attributesWithoutPrefixSearch\":[\"brand\",\"color\",\"promotion.type\"],\"attributesWithoutTypoTolerance\":[\"itemId\",\"link\"],\"valuesWithoutTypoTolerance\":[\"Nike\",\"blue\",\"74997\"],\"typoToleranceOnNumericValues\":true,\"searchableAttributes\":{\"fullText\":[\"brand\",\"color\",\"promotion.type\"],\"fullTextBoosted\":[\"brand\",\"color\",\"promotion.type\"],\"fullTextStronglyBoosted\":[\"brand\",\"color\",\"promotion.type\"]},\"displayableAttributes\":[\"brand\",\"color\",\"promotion.type\"],\"facetableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"filterableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"sortableAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"distinctFilterAttributes\":{\"range\":[\"age\",\"customScore.value\",\"salePrice.value\"],\"text\":[\"brand\",\"color\",\"promotion.type\"],\"datetime\":[\"created\",\"attributes.modifiedAt\"]},\"recentSearches\":{\"windowSize\":100,\"timeSpan\":{\"type\":\"DAYS\",\"value\":30}},\"reranking\":{\"dynamicReranker\":{\"enabled\":true,\"filter\":\"string\",\"numberOfItems\":1,\"minNumberOfEvents\":0},\"queryClassification\":{\"enabled\":true,\"actions\":[{\"action\":\"staticFilter\",\"minReliabilityLevel\":\"certain\"}],\"excludedPhrases\":[\"string\"],\"excludedCategories\":[\"string\"]}},\"optimization\":{\"enabled\":true,\"target\":\"ctr\",\"optimizedWeights\":{\"property1\":{\"baseWeights\":{\"personalized\":5,\"transactionsPopularity\":5,\"pageVisitsPopularity\":5,\"transactions7DaysPopularity\":5,\"pageVisits7DaysPopularity\":5,\"revenueBoost\":5,\"conversionRateBoost\":5,\"fullTextMultipliers\":{\"stronglyBoosted\":100,\"boosted\":100,\"normal\":100}},\"drrWeights\":{\"searchDRRWeight\":5,\"listingDRRWeight\":5,\"clickWeight\":5,\"buyWeight\":5,\"revenueWeight\":5}},\"property2\":{\"baseWeights\":{\"personalized\":5,\"transactionsPopularity\":5,\"pageVisitsPopularity\":5,\"transactions7DaysPopularity\":5,\"pageVisits7DaysPopularity\":5,\"revenueBoost\":5,\"conversionRateBoost\":5,\"fullTextMultipliers\":{\"stronglyBoosted\":100,\"boosted\":100,\"normal\":100}},\"drrWeights\":{\"searchDRRWeight\":5,\"listingDRRWeight\":5,\"clickWeight\":5,\"buyWeight\":5,\"revenueWeight\":5}}}},\"geoSearch\":{\"geoSearchableAttribute\":\"string\"},\"queryRules\":{\"consequencesJoinOperators\":{\"standardFilters\":\"AND\",\"elasticFilters\":\"AND\"}},\"indexType\":\"Product\",\"chunking\":{\"strategy\":\"section\",\"tokenLimit\":512,\"overlapTokens\":64,\"minChunkTokens\":16},\"documentFields\":{\"contentField\":\"string\",\"titleField\":\"string\",\"contentFormat\":\"Plaintext\",\"metadataFields\":[\"string\"]}}")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: Search Configuration
components:
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      description: |-
        JWT Bearer token. The header looks like this: `Bearer {JWT}`

        Remember to include the space between 'Bearer' and the token.

        Generate a token via the **Authorization** endpoints.
```
