Yext now supports Multi-Hop Search so that end-users can query data that is stored on related entities, several “hops” away in the Knowledge Graph!
For example, there may be a case where a user is looking for a list of doctors that treat a certain condition based on their specialty (e.g., a doctor that can treat a broken arm). In the Knowledge Graph, Doctor entities would be related to Specialty entities, and Specialty entities would be related to Condition entities. Even though Doctors and Conditions are not directly related, Streams allows us to search attributes “two hops” away from the Doctor entity.
You can set this up in your Search configuration by adding relationship fields as searchable fields using dot notation. In the case below, c_relatedSpecialties.c_relatedCondition.name
refers to the Name field of the Condition entity that is related to the Specialty entity that is related to the Doctor entity we want to return:
{
"verticals": {
"ce_doctors": {
"searchableFields": {
"c_relatedSpecialties.c_relatedCondition.name": {
"facet": true
},
"c_relatedSpecialties.c_relatedCondition.c_synonym": {
"nlpFilter": true
}
}
}
}
}
To learn more about Multi-Hop Relationships visit the Core Configuration - Verticals module.
This feature was automatically enabled in all Sandbox and Production accounts, so you can start taking advantage of this today!