Personalized Search

Personalized Search is an essential feature for any marketplace. It helps users find exactly what they're looking for, so they don't give up and go search for the product on another site (like, say... Google or Amazon).

Example for Personalized Search

Introduction

Online search is one of the greatest innovations in recent history. But what really unlocks the power of search is personalization, which connects the user not only with results that match their query, but with results that seem to read their mind and anticipate their intent. For example, if two people search for milk, do they both see the same search results? Or are you able to show one person the oat milk from their preferred brand, while the other person sees their favorite organic 2% dairy milk? Shorter queries (of less than three words) account for up to 80% of traffic in the US but are the hardest to get right with a traditional search engine.

When you use the Search API with Miso, the same query can return different results for different users, based on their individual interests and preferences. Because Miso learns from real-time interactions and accounts for the current context, it dynamically homes in on what the user is looking for. That's why Miso is able to generate a 15-20% higher conversion rate than traditional search engines. There's also a lot of flexibility within this API for filtering and ordering results, which you can read more about here.

Every query made with Miso's Search API is automatically spellchecked by sophisticated semantic models. According to a Microsoft Research study, roughly 10-15% of the queries sent to search engines contain errors. A misspelled search keyword often results in poor search quality, and users have been accustomed to Google's automatic spelling correction functionality and expect the same on your site. Miso detects hard-to-spot errors, auto-corrects keywords according to the context, and recognizes terms that are newer or lesser-known.

Personalized Search is usually implemented together with Instant Typeahead Search , letting you provide the full-powered search experience that users have come to expect from marketplaces on the web today.

Before You Start

API Call / JSON Response

To fetch your Personalized Search results, POST to the Search API with the following minimum parameters:

  • user_id or anonymous_id: The user or anonymous visitor to personalize the recommendations for
  • q or advanced_q: The search query. Like Google's Advanced Search, advanced_q is used to perform queries beyond simple full-text search, such as searching for exact matches on a phrase or using AND/OR booleans. You can find more information in the API documentation.

The API will return search results along with a spellcheck object showing any spelling corrections that Miso made to the original query.

Don't forget: there are many parameters you can use to optimize and filter the results that Miso returns, such as fq , boost_fq , and diversification .
Read more in the deep dive

Example API Call

POST /v1/search/search?api_key=<API_KEY> HTTP/1.1
{
    "user_id": "user-123",
    "q":"granolla",
    "start": 0,
    "spellcheck": {
        "enable_auto_spelling_correction": true
    },
    "rows": 10,
    "fl": ["title"]
}

Example JSON Response

{
    "message": "success",
    "data": {
        "took": 106,
        "miso_id": "6d749e86-ddf1-11eb-833e-ba7ee8b57635",
        "spellcheck": {
            "spelling_errors": true,
            "auto_spelling_correction": true,
            "original_query": "granolla",
            "original_query_with_markups": "<mark>granolla</mark>",
            "corrected_query": "granola",
            "corrected_query_with_markups": "<mark>granola</mark>"
        },
        "total": 68,
        "start": 0,
        "products": [
            {
                "product_id": "41665",
                "_missing_keywords": [],
                "title": "Made Good Organic Chocolate Chip Granola Minis 3.5oz",
                ..., // Additional scoring information
            },
            {
                "product_id": "1834",
                "_missing_keywords": [],
                "title": "Purely Elizabeth Original Ancient Grain Granola 12oz",
                ..., // Additional scoring information
            },
            ...
        ]
    }
}

Read more about the scoring information that Miso returns in the API response.

Before You Launch

Using this API recipe as a starting point, test API calls to your engine in development
If you haven't already, build pipelines to stream your real-time data updates to Miso via API. Your Miso solutions engineer is here to help with the integration.
Start using this API recipe to power the UX on your site in staging. If you need UX recommendations, ask your Miso solutions engineer about Bento .
Run an A/B test with Miso on simulated website traffic. If desired, your Miso solutions engineer can perform this test and provide a report.
If this is your first time launching with Miso, ask your Miso solutions engineer to unlock your production environment.
Replicate your Data and Engine API calls on production and set up the same engine in your production environment in Dojo.
Review your data and engine performance in Dojo.
Turn on this recipe for a percentage of your users and scale up to a full rollout. Notify your Miso solutions engineer who will monitor the launch metrics.

API Reference

💻

Need more info on the API? Check out our dedicated API page with all the info you could ever want.

Read API Reference
Icon/Activity Icon/Add Icon/API Icon/Arrow/Down Icon/Arrow/Left Icon/Arrow/Right Icon/Arrow/TopRight Icon/Arrow/Up Icon/Bento Icon/Billing Icon/Bin Icon/Book Icon/Bookmark/Default Icon/Bookmark/Filled Icon/Calendar Icon/Caret/Down Icon/Caret/Up Icon/Chavron/DownIcon/Chavron/LeftIcon/Chavron/RightIcon/Chavron/UpIcon/Checknox/CheckedIcon/Checknox/Unchecked Icon/Checklist Icon/Chip Icon/Clipboard / Copied Icon/Clipboard/Default Icon/Clock/Stopwatch Icon/CMD Icon/Data/Catalog Icon/Data/Engine Icon/Data/Group Icon/Data/Interact Icon/Data/Users Icon/Dive Icon/Docs/Key Icon/Dojo Icon/Email Icon/Env/Development Icon/Env/Playground Icon/Env/Prod Icon/Folder Icon/Fullscreen/Collapse Icon/Fullscreen/Expand Icon/Guides/Multiple Icon/Guides/Single Icon/Hashtag Icon/Heart/Outline Icon/Heart/Solid Icon / Cart z Icon / Click Icon / Clock Icon / Data Icon / Doc Icon / EmptyCart z Icon/Social/Facebook Icon / Genome Incognito Icon / Money Icon/Social/ProductHunt Icon / Search Icon/Social/Twitter Icon / User Icon/Info/Error Icon/Info/Info Icon/Info/Question Icon/Info/Warning Icon/Interact/Download Icon/Interact/Edit Icon/Interact/External v2 Icon/Interact/External Icon/Interact/Filter Icon/Interact/Logout Icon/Interact/Options Icon/Interact/Re-order Icon/Interact/Reload Icon/Interact/Remove Icon/Interact/Replace Icon/Interact/Search Icon/Interact/Shuffle Icon/Interact/Undo Icon/Interact/Upload Icon/Interact/Video Icon/Invoice Icon/Loading Icon/Loading Icon/Lock/Locked Icon/Lock/Unlocked Icon/Lock Icon/Mapping Menu Icon/Notification Icon/Overview Icon/Person/Team Icon/Person/User Icon/Plan/Enterprise Icon/Plan/Growth Icon/Plan/Startup Icon/Plan/Trial Icon/Recipe Icon/Rocket Icon/Settings/App Icon/Settings/User Icon/Settings Icon/Shrine Icon/Sidebar/Close Icon/Sidebar/Open Icon/Slideout Icon/Sort/Ascending Icon/Sort/Default Icon/Sort/Descending Icon/Star/Filled Icon/Star/Outlined Stopwatch Icon/Support Icon/Tag Icon/Interact/Thumb/Dislike Icon/Interact/Thumb/Like Icon/Tick Icon/Trend/New Icon/Trend/Trending Icon/Tutorial Icon/Lock/Unlocked Icon/View/Grid Icon/View/List Icon/Watchlist/Add