2

We have a site on a 2013 on-prem where we have created a custom search result and setup a search results page to direct searches. Currently the drop down suggestions in the search box are not helpful. They come from the entire farm and suggest words that aren't found anywhere on our site.

I noticed in the snippet gallery for configuring the search box there is a property QuerySuggestionsSourceID. I tried adding that to the snippet using the guid for our custom result source. Which, after publishing and hard refresh, didn't make a difference.

I then did a google search and found this tutorial.

EDIT

That tutorial was for a search box webpart. My original issue was with the search snippet on a the master page. I have since tried following his tutorial. Again I was able to see that the xml headers sent with the suggestion request changed to whatever source id and number of suggestions, but it didn't change the results shown in the suggestion drop down.

END EDIT

When I set the attribute QuerySuggestionsSourceID to the GUIDs of either a result sources provided by the site or the site collection I can see the change in the debugger. As I type my search there is a call to https://site/_vti_bin/client.svc/ProcessQuery and it includes a request payload of the following XML which includes the value I include.

<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="15.0.0.0" ApplicationName="Javascript Library">
<Actions>
    <ObjectPath Id="1" ObjectPathId="0"/>
    <SetProperty Id="2" ObjectPathId="0" Name="QueryText">
        <Parameter Type="String">brea</Parameter>
    </SetProperty>
    <SetProperty Id="3" ObjectPathId="0" Name="Culture">
        <Parameter Type="Number">1033</Parameter>
    </SetProperty>
    <SetProperty Id="4" ObjectPathId="0" Name="ShowPeopleNameSuggestions">
        <Parameter Type="Boolean">false</Parameter>
    </SetProperty>
    <SetProperty Id="5" ObjectPathId="0" Name="SourceId">
        <Parameter Type="Guid">{66d66aa5-67dc-4347-a89b-ace29e8d44b5}</Parameter>
    </SetProperty>
    <Method Name="GetQuerySuggestionsWithResults" Id="6" ObjectPathId="0">
        <Parameters>
            <Parameter Type="Number">5</Parameter>
            <Parameter Type="Number">3</Parameter>
            <Parameter Type="Boolean">true</Parameter>
            <Parameter Type="Boolean">true</Parameter>
            <Parameter Type="Boolean">false</Parameter>
            <Parameter Type="Boolean">false</Parameter>
        </Parameters>
    </Method>
</Actions>
<ObjectPaths>
    <Constructor Id="0" TypeId="{80173281-fffd-47b6-9a49-312e06ff8428}"/>
</ObjectPaths>
</Request>

I've also tried changing the number of results to return and the number of letters the user needs to type before the suggestions are made, but none of those seem to change the suggestions.

Am I not understanding what this is supposed to do? If this doesn't do what I'm thinking, is there a way to get the search box suggestions to only be from the same result source as we are using?

Is there something that needs to be configured in central admin? I only have Site Collection admin level permissions.

1

Please make sure that this has been turned on in Search Admin. You need to login the server portal to see it. Hope this help.

enter image description here

  • I don't have access to central admin, but I can ask IT to check. But since we do see suggestions I would think this is turned on. – Rothrock Aug 17 '17 at 18:03
  • I thought so, but worth to just double check so we know where to focus on :) – Alan Aug 17 '17 at 22:12

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.