Vertical Searchable Fields | Yext Hitchhikers Platform

What You’ll Learn

In this section, you will learn:

  • Searchable Field Types
  • Configuring via UI vs. JSON
  • Searchable Field Examples and Use Cases

Searchable Field Types

Within each vertical, you will determine which fields can searched on the Search backend. This is what’s called a searchable field.

Searchable fields control which fields are indexed by the Search algorithm in each vertical and therefore how results (think: entities and verticals) are returned to the user. Each entity type that you set up in your Knowledge Graph has both profile and custom fields associated to it. In the Search Configuration, you can set each field as Searchable by configuring it as such and selecting one of the following searchable field types in the below table. We will dive into each type and walk through examples of each one in the following units!

Searchable Field Description Common Use Cases (Fields)
Text Search Text Search allows each token of the query to be searched within the fields you specify. This is best for short text fields that might contain unstructured or varied data. Name, Keywords
NLP Filter NLP Filter enables each term in the search query to be parsed with Natural Language Processing (NLP) and used as a filter. This is best for structured enum/option fields where there are a finite number of variations across entities. builtin.location, builtin.entityType, builtin.hours, linkedEntity.name, Department, Category, Vertical, Industry
Facet Facets allow a field to be used as a type of dynamic filter that a user can interact with in the search experience to narrow their search. This is best for structured enum/option fields where there are a finite number of variations across entities. Department, Category, Vertical, Industry, Department, Insurance, Services, Payment Methods
Sortable Sortable allows a field to be used as a sorting method that is controlled by the algorithm or by the user. Name, Date, Popularity, Accepting New Patients
Direct Answer Direct Answer allows a field to be surfaced in a prioritized direct answer card within the search experience. Address, phone, title, calories, allergens
Phrase Match Phrase Match allows an entity to be surfaced only when there is an exact phrase match contained in the query. Keywords, First Name, Last Name
Semantic Text Search This turns on our Semantic Text Search algorithm, which will match a user’s query to an entity name that semantically similar (not available for Location entities). Name, especially FAQ Name and Help Article Name
Document Search This turns on our Document Search algorithm, which searches long, unstructured content from a Knowledge Graph entity and returns featured snippets. Description and Body fields from Help Articles, Blogs, Product Descriptions, and much more


Adding Display Fields

For each vertical, you can use the displayFields property to control the entity profile field values that are returned as part of the Search API response.

This is required if you want to return a field value from a related entity of a result. If you do not include displayFields, Search will return all fields on the result entity, but not any fields of related entities.

If you do include displayFields, Search will only return the fields that you provide in this property. You need to make sure that all the fields you want to display on the frontend are included in this property.

Let’s say, for example, that you are working on a doctors vertical, and each doctor is related to a specialty entity that has the name of that specialty and a list of related conditions and treatments. Here is an example of a displayFields property that you might set up to display all of those attributes:

"displayFields": [
  "name",
  "c_specialty.name",
  "c_specialty.c_relatedConditions",
  "c_specialty.c_relatedTreatments"
]

To learn more about displayFields and how they can be used to reference entity relationships, see this unit

Configuring via UI vs. JSON

Searchable Field Configuration via UI

As you configure each vertical in the UI, you will be presented with a Searchable Fields section. Simply add a field in the top right to enable another field for Search indexing. Once you select the field, you can designate which type of Searchable field type to apply to the given field. In the example below within the Community Stories vertical, we have builtin.entityType set as a NLP filter, name set as Text Search, and c_theme set as both NLP Filter and Facet Filter.

Searchable fields UI

light bulb
Note
Use Test Search on the right side of your screen to see how various searches are impacted by your backend changes. It’s a quick and easy way to test out your configuration in real time!

Searchable Field Configuration via JSON

To access the Search Configuration in the JSON editor, simply click the “Edit as JSON’ link in the left pane.

navigating to search configuration

In the JSON instance of the Search Configuration, Searchable Fields are referenced by their API Name. This can be found in the Searchable Fields section of the UI, API documentation, or on the View Entity Type page found by navigating to Knowledge Graph > Configuration > Entity Types and clicking on a type. Any custom fields will have a prefix of c_ and any built-in fields will not. Both profile fields and custom fields can be marked as searchable.

To set a field as Searchable, specify the API Name of the field you are setting along with the filter type(s) you’d like to set it as. A filter can be set as one of all of the available filter types mentioned above.

”name”: {
  "textSearch": true
}

Within the greater community_stories vertical object in the JSON Configuration, the format would be:

"community_stories": {
   "entityTypes": [
      "ce_communityStory"
     ],
      "name": "Community Stories",
      "searchableFields": {
        "builtin.entityType": {
          "nlpFilter": true,
          "textSearch": false
        },
        "c_theme": {
          "facet": true,
          "nlpFilter": true
        },
        "name": {
          "nlpFilter": false,
          "phraseMatch": false,
          "textSearch": true
        }
      },
   "sortBys": [],
   "source": "KNOWLEDGE_MANAGER"
},

Throughout this module, you’ll learn about Searchable Fields and their use cases. Searchable fields can simply be set through the UI. However, if you choose to make edits directly in the JSON editor, this module also provides JSON formatting for each Searchable Field type.


unit Quiz
+20 points
Daily Quiz Streak Daily Quiz Streak: 0
Quiz Accuracy Streak Quiz Accuracy Streak: 0
    Error Success Question 1 of 2

    Which of the following are searchable field options? (select all that apply)

    Error Success Question 2 of 2

    Which searchable field matches a user’s query to an FAQ that is semantically similar?

    A Hitchhiker in the making! 🔥

    You've already completed this quiz, so you can't earn more points.You completed this quiz in 1 attempt and earned 0 points! Feel free to review your answers and move on when you're ready.
1st attempt
0 incorrect
Feedback