2

We have a SP 2013 on prem site. I am a site collection admin and have no access to central admin. We have a site with a lot of human resource related content for non-HR managers. One thing they search on is fire an employee or variations of that. The HR folks writing the content never (or almost never) use the word "fire" instead they talk about terminating an employee.

I'm just a SP jockey. I'm not going to get these two folks to agree and won't be able to change our company policies.

So I'm looking for a search solution that allows managers to type fire and to find content with termination.

First I found information about creating a thesaurus and deploying it to our SharePoint Server. But our SharePoint is used by thousands of teams in hundreds of locations and we are not allowed to modify the shared central assets. So that solution won't work.

Next I thought of using a query rule. But it only gives me the opportunity to rerank the items already returned by the original query--which are none. I found this tutorial where he experienced something similar and he had to include the thesaurus to get it all working.

Is there some way that I can take a search term (and maybe use regex to take multiple forms of the word) and transform the search before the results are returned into a different search?

2

It is sad that your administrators do not see the business value of a well crafted thesaurus. In the past I have created a very simple Thesaurus solution driven by a SharePoint list that updates the farm thesaurus.

Anyway, in your case I would still use a Query Rule. You then have two choices depending on how you want to organize them.

  1. Use Advanced Query Text Match - Supply all of your synonyms in a semicolon delimited list. Next choose "Add Result Block" and craft a query that returns the content that you want them to find.
  2. Use Query Contains Action Term - Again supply the synonyms but notice that the term that was used can optionally be removed. So if they use "fire" you can swap "terminate", for example.

Another option is to use a term set, but I think that would become unwieldy.

  • Thanks this is really helpful. The result block can only return 10 items, but for these special cases I think that will probably work. – Rothrock Apr 13 '18 at 17:51
  • One thing about the Query Contains Action Term...it seems it only works if there are other non-matching terms in the original search box entry. If the user only types 1 word from my list it doesn't match, for example, with this list fire;firing;fired;fires; when I search on just "fire" it doesn't match but "fire an employee" does. – Rothrock Apr 13 '18 at 18:03
  • True there is a limit, but you can configure a "More" link to pivot the results back to a regular search results page full of results. If that is the case you could use RegEx. – Matthew McDermott Apr 14 '18 at 12:33
  • I think the problem with it not matching just a single word was that I was trying to use both {actionTerms} and {subjectTerms}. If the search consisted only of an action term, e.,g. "fire" then the subjectTerms were empty and the OR/AND in my result block query would fail. I had to do a {?{subjectTerms} OR} so that that if it was empty it wouldn't break the query. – Rothrock Apr 16 '18 at 15:46

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.