Hi Sam,
Another way to do this is to add custom properties to the search index. You can actually add custom properties to the index, like Feature Name and Feature Description, even though they are not fields of "Page One".
The easiest way to do this is to subscribe to the DocumentEvents.GetContent.Execute event. When handling the event, check to see if the page is one for which you need the custom Feature Name and Feature Description properties. If it is, get the values from the child nodes, and add them to the index using SearchDocument.Add. It would look something like this:
private static void Document_GetContent_Execute(object sender, DocumentSearchEventArgs e)
{
var parentPage = e.Node;
//
// Insert code to retrieve the feature name and feature description
// from the child nodes
//
// Add the custom properties to the index
e.SearchDocument.Add("FeatureName", featureName, true, false);
e.SearchDocument.Add("FeatureDescription", FeatureDescription, true, false);
}
Then in the search results, you would be able to get both of these values using the GetSearchValue method. This will be easier and much more performant.
There's a great article about on how to add custom content to the search index by Kristian Bortnik. Check it out here:
https://www.kenticotricks.com/blog/indexing-additional-content-with-smartsearch
Mike