1

I'm having trouble getting Result Types working in SharePoint Search. I've defined a result source for one of my BDC datatypes, plus a result type that matches everything from that result source. However, when they show up in search results, the items from that source just show up as web pages, rather than using the display template I specified for the result type.

The template works perfectly when I force the search results web part to use it, but it doesn't get used when the web part is set to pick display templates based on result types.

I've updated SharePoint to SP1, and that didn't seem to make a difference. Obviously, I'm missing a step somewhere, but I can't figure out what I've missed. I've included screenshots of the relevant portions of the setup. Hopefully somebody will be able to tell me what I've done wrong based on these.

Here's my result source query setup:

Query basics

And here's a test, showing that the query works:

Query test succeeds

Finally, here's my result type setup:

Result type setup

Update: Managed property problem

It turns out I can get result types working, but only if I use built-in SharePoint properties. When I try to filter on managed properties, it stops working. In the below screenshot, if I only specify the first property, it works fine. Once I add the second (an integer), it stops working. Any thoughts?

Result Type property matching

After posting this screenshot, I noticed I had the wrong condition for the second property. After changing it to Greater than Any Of... it still doesn't work.

0

3 Answers 3

1

Try the following. Set "Which source should results match?" to "All Sources". Under "Show more conditions", select ContentSource contains any of (Your Content Source Name). Also ensure your display template is selected at the bottom. enter image description here

1
  • 1
    The Content Source option does work, as long as I specify the name of the Search content source. When I specify a managed property, it stops working. Very interesting.
    – Ben Wyatt
    Commented Mar 26, 2014 at 13:18
0

I had to look and see how I did this. (Not saying it's the right way, but it works.)

I created a Queryable Managed Property called BCSEntityName and mapped it to the Business Data crawled property EntityName. In my case the entity name returns "Customers". (OH, and all of my BCS Managed Properties are in the SSA not the Site Collection, BCS Properties don't work in the Site Collection.)

Then I created a Result Source (In the SSA) where the query transform is "{searchTerms} BCSEntityName:DHTCustomer".

Then I create my Result Type Rule in the Site Collection. Condition match on Local SharePoint Results and Property match on BCSEntityName Equals any of DHTCustomer. Actions set to my Customer Item Display Template.

This set up shows the result on the "Everything" tab. Next I create a new vertical for my Customers ONLY. Create the page and then edit the Search Results Web part forcing the Query to only use the Customers Result Source that I created earlier. I also force the Display template here.

0

I have the same issue. There is a problem with the previous answer. When there are more than one tables in the same content source, you may want to use different template for the tables. Here is what worked for me. By default, Title is set to the name of the External Content Type profile page name. And each ECT is for a different table. You can figure out the exact value by displaying it on your search result page. So, all the BDC records have the same title. Using this title value to set up the Result Type filter. It worked for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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