SearchResponseBody

  • products
    Type: array object[] · Products
    required

    The search results.

    • product_id
      Type: string · Product Id
      max length:  
      512
      required
          The unique identifier for the product.
          
      
  • spellcheck
    Type: object · Spellcheck
    required

    Spellcheck results. You can use the information in this object to prompt users with the correct spelling.

    • auto_spelling_correction
      Type: boolean · Auto Spelling Correction
      required

      Whether Miso has automatically corrected the misspelled search query. When this field is true, the search result is based on the corrected spelling in the corrected_query field instead of users' original search query.

    • corrected_query
      Type: string · Corrected Query
      required

      The corrected spelling suggested by Miso. If no spelling error is detected, this will be the same as original_query

    • corrected_query_with_markups
      Type: string · Corrected Query With Markups
      required

      The corrected spelling suggested by Miso where the revised tokens are surrounded by the tags.

    • original_query
      Type: string · Original Query
      required

      Original query string

    • original_query_with_markups
      Type: string · Original Query With Markups
      required

      Original query with the spelling errors (if any) surrounded by the tags

    • spelling_errors
      Type: boolean · Spelling Errors
      required

      Whether Miso detects any spelling errors.

  • start
    Type: integer · Start
    required

    Starting offset of the search results.

  • total
    Type: integer · Total
    required

    Total number of search hits.

  • boosting_rules
    Type: array · Boosting Rules

    Boosting rules that are applied to the search results.

      • boost_fq
        Type: string · Boost Fq

        Defines a query in Elasticsearch query-string syntax (Lucene) that can be used to boost a subset of products to the top of the ranking, or to specific boost positions (See boost_positions parameter below.) For example, the query below will promote all the relevant products whose brand is Nike to the top of recommendation list:

        {
            "boost_fq": "brand:\"Nike\""
        }
        

        For a slightly more complex example, the query below will promote the Nike products which have also been tagged as ON SALE to the top of the ranking:

        {
           "boost_fq": "brand:\"Nike\" AND tags:\"ON SALE\""
        }
        

        It is worth mentioning that, Miso will only boost products that are relevant and have high likelihood to convert, and will not boost a low performance product only because it matches the boosting query.

        Depending on your boosting rules, in certain cases, you would like to prevent recommendation results from being too monotone due to boosting. With Miso, you have two tools to do so.

        First, you can specify boost_positions to place promoted products at specific positions in the ranking. For example, the query below will place boosted products only at the first and fourth places in the ranking (positions are 0-based), and place the remaining products in their original ranking, skipping these two positions.

        {
           "boost_fq": "brand:\"Nike\" AND tags:\"ON SALE\"",
           "boost_positions": [0, 3]
        }
        

        The second tool is diversification. diversification parameter, on a best-effort basis, will try to maintain a minimum distance between products that have the same attributes. For example, the following query will place products made by the same brand apart from each other.

        {
           "boost_fq": "brand:\"Nike\" AND tags:\"ON SALE\"",
           "diversification": {
               "brand": {"minimum_distance": 1}
            }
        }
        
      • boost_positions
        Type: array integer[] · Boost Positions

        Defines a list of 0-based positions you want to place the boosted products at.

        For example, the query below will promote products whose brand is Nike as the top and second recommendations:

        {
            "boost_fq": "brand:\"Nike\"",
            "boost_positions": [0, 1]
        }
        

        If boost_positions is not specified (which is the default behavior), all the boosted products will be ranked higher than the rest of the products.

      • boost_rule_name
        Type: string · Boost Rule Name

        Name of the boosting rule. Use this to identify a boosting rule in _boosted_rules in the response

  • custom_assets
    Type: array object[] · Custom Assets

    Custom JSON assets uploaded in Dojo.

    Empty object
  • facet_counts
    Type: object · Facet Counts

    Facet counts

    • facet_fields
      Type: object · Facet Fields

      Facet counts of each facet field

  • filtering_rule
    Type: string · Filtering Rule

    Filter query that is applied to the search results.

  • miso_id
    Type: string · Miso IdFormat: uuid

    Miso-generated unique Id for each recommendation or search result. Maintaining this Id for subsequent page views is important to Miso's performance as we use miso_id to track and fine-tune the performance of personalization and search results. When a user clicks on a recommendation or search result, you should pass the associated miso_id to the next page view, and associate the miso_id with the interactions that take place on the page (e.g. product_detail_page_view, add_to_cart, add_to_collection, like, etc.). In this way, Miso will learn which recommendations work and which didn't.

    Example:

    {"misoId": "123e4567-e89b-12d3-a456-426614174000"}
    
  • partially_matched_products
    Type: array object[] · Partially Matched Products

    The search results that only partially match the search query.

    • product_id
      Type: string · Product Id
      max length:  
      512
      required
          The unique identifier for the product.
          
      
  • product_existence
    Type: object · Product Existence

    Product existence query result

    • propertyName
      Type: boolean
  • took
    Type: integer · Took

    Number of milliseconds Miso took to retrieve the results.