loading

Module Assessment| Hitchhikers Platform

loading
You must include a first name and last name in your profile to create challenge environments.

Background

Marty Morris, the CEO, was just demoing this experience to his team internally and has some feedback for you. When users input any query containing the term “turtlehead”, he wants the FAQ vertical to appear first, so that users can learn more about the brand. Since this is not how the algorithm would return results organically, we can use Query Rules to override and boost the FAQ vertical.

Specifically, he wants to make sure that “What are the perks of working at Turtlehead Tacos?” shows as the first FAQ for any potential new hire prospects. Turtlehead Tacos is already storing this information via cookie if a user has visited an application page in the last two weeks, and would like to use that to implement this rule.

Additionally, Turtlehead Tacos wants to hire a new Recruiting Manager as soon as possible. To do so, they want to boost the Recruiting Manager entity (job-16) to the top any time a search term contains the terms “job” and “apply”, because these searchers might be most likely to apply for an open position.

Your Challenge

  1. Publish the site

    • Navigate to Pages > Sites > Turtlehead Tacos Answers > Staging Environment
    • Click on New Publish in the top right corner
    • Select Master and click Continue
    • Wait for your site to Publish
  2. Go to your staging URL to access your Answers experience

    • Enter username / password of test/test
    • Search for “turtlehead” and note the vertical ordering
    • Search for “how do i apply for a job?” and note the ordering within the Jobs vertical
  3. Navigate to the Search Configuration

  4. Add the “rules” top-level property. Next, add the searchTermContains criteria with “turtlehead” as the value and a BOOST_VERTICAL_INTENT action for the faqs vertical with a boostValue of 10. See below for code to reference:

      "rules":
        [
          {
            "criteria": {
              "searchTermContains": [
                "<INSERT_SEARCH_TERM>"
              ]
            },
            "actions": [
              {
                "actionType": "BOOST_VERTICAL_INTENT",
                "boostValue": <INSERT_BOOST_VALUE>,
                "verticals": [
                  "<INSERT_VERTICAL_KEY>"
                ]
              }
            ]
          }
      ]

    Note: You can also use the Config UI to add these rules - use whatever you are comfortable with!

  5. Save the new configuration (make sure to check your commas and brackets!).

  6. Return the search for “turtlehead” - FAQs are now returned first!

  7. Now we’ll add the rule to boost the FAQ “What are the perks of working at Turtlehead Tacos?” if a user is a potential job prospect. First, try adding &context={"jobProspect": true} to the end of your staging URL, and hit enter to search. Notice the order that the FAQs return - “What are the perks of working at Turtlehead Tacos?” is not the first FAQ.

    Your URL will look something like this: URL Parameters

  8. Navigate to the Search Configuration. Add a rule with criteria that checks for the key jobProspect and boosts the FAQ “What are the perks of working at Turtlehead Tacos?” (faq-6).

        {
          "criteria": {
            "contextContainsKey": "$.<INSERT_KEY>"
          },
          "actions": [
          {
              "actionType": "BOOST_ENTITIES",
              "entityIds": [
                "<INSERT_ENTITY_ID>"
              ],
              "verticalKey": "<INSERT_VERTICAL_KEY>"
            }
          ]
        },
  9. Save the new configuration (make sure to check your commas and brackets!).

  10. Run a search for “turtlehead” again with the query parameter &context={"jobProspect": true}, and notice that the order of FAQs has shifted to show “What are the perks of working at Turtlehead Tacos?” first.

  11. Now run a search for “how do i apply for a job?”. Notice the order that the entities are returned.

  12. Add another rule in your Answers configuration to check if the search term contains "job" or "apply", and boost the entity job-16 if it meets the criteria. Remember, this should be within your ‘rules’ object - make sure there is a comma separating your previous rule from this one.

    {
          "criteria": {
            "searchTermContains": [
              "<INSERT_SEARCH_TERM>",
              "<INSERT_SEARCH_TERM>"
            ]
          },
          "actions": [
            {
              "actionType": "BOOST_ENTITIES",
              "entityIds": [
                "<INSERT_ENTITY_ID>"
              ],
              "verticalKey": "<INSERT_VERTICAL_KEY>"
            }
          ]
        }
  13. Rerun the search “how do i apply for a job?” or “apply for job”, and notice that the Recruiting Manager is now the first result in the Jobs verticals!

Module Assessment
+<% util.points %> points
loading
Weekly Challenge Streak Weekly Challenge Streak: <% util.streakWeekly %>
You must include a first name and last name in your profile to create challenge environments.
Challenge account expires in <% util.expirationHours > 24 ? Math.round((util.expirationHours * 1.0) / 24) : util.expirationHours %> <% util.expirationHours > 24 ? (Math.round((util.expirationHours * 1.0) / 24) == 1 ? 'day' : 'days') : (util.expirationHours == 1 ? 'hour' : 'hours') %>.
Challenge account has expired. Please create a new account.
Report Card
Add the Boost Entities Query Rules
Add the Boost Vertical Query Rule
Add the Context Query Rule
Common Issues
Configuration changes not saved or showing a message that there are no changes? expand/collapse module

This is likely because you included an object that was not recognized and the Yext system is removing it from the config and saving any other changes.

If you’re adding something that is top-level, like the synonyms or autocomplete objects, make sure it’s not nested inside of a vertical. Conversely, if you’re adding a searchable field or a saved filter, make sure it is nested appropriately.

Previous Submissions
Attempt #<% submission.attemptNumber %>
<% submission.date %>
Score: <% submission.numericScore %>
Pending
Splash Loading