1

Given the following lists and their lookup relationship. How can I search for "Sassy" and return the owner "David Wavid"? Searching for "Chihuahua" works fine, but the search doesn't seem to look at any of the other columns in the related dog list.

I can get this working using "Add a column to show each of these additional fields" and adding "Personality", but I'd rather the search just respected the relationship.

Owner List

Firstname | Surname | Dog (lookup column to dog list showing "Breed")  
Bob         Bobbins   Labrador
David       Wavid     Chihuahua

Dog List

Breed     | Breed Group | Personality
Labrador    Gundog        Friendly
Chihuahua   Toy           Sassy

Using SharePoint 2013 Enterprise for a Publishing site.

  • What version of SharePoint are you using? – Matthew McDermott Jul 5 '16 at 13:41
  • SharePoint 2013 Enterprise for a Publishing site. I'll update the question to reflect this. – Stephen S Jul 5 '16 at 13:52
0

SharePoint treats all "items" as single entities. The only place where you can specify a different behavior for Parent-Child relationships is via the BCS. So you have two options.

  1. Write a bit of JavaScript in a Display Template that, when the "Sassy" result is returned it fetches (pun intended) the linked items from the other list. This is pretty trivial stuff if you use the Search REST API.
  2. Write a BCS External Content Type that joins your two lists and specify the necessary parameters for including children in the crawl. (NOTE: I haven't tried this since 2010 so your mileage may vary.)
  • I was hoping SharePoint had a better standard offering. I wonder if there are any performance implications for option 1, possibly fine with a single "join", but some of our data has multiple lookup fields. – Stephen S Jul 11 '16 at 8:20
  • It all depends on how you write it. – Matthew McDermott Jul 11 '16 at 14:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.