Share via


How can I use synonyms defined in term sets in search results ?

Question

Thursday, May 20, 2010 8:46 PM

Hi,

In the term store I create my taxonomy using term set hierarchy. I associate synonyms to a term set using the 'Other Labels' field. It works fine and when using a managed metadata column field I can access the synonyms.

Example: for the term 'Apple' I would also like to define related terms 'cortland', 'granny smith'in the 'Other Labels' section.

I create a list with a managed metadata column named 'Fruit' and add an item with 'Fruit=Apple'

I would like to use the synonyms to enhance the search results. If I enter 'cortland' or 'granny smith' in the search box of the enterprise search center I would like to have the items having 'Fruit=Apple' listed also.

How can I make the relation with this 'Other labels' field? I tried using the metadata properties mapping but I could not get what I'm looking for.

Thanks,

Stéphanie

PS: I'am not using FAST.

All replies (7)

Friday, May 21, 2010 5:58 PM ✅Answered

Thanks but if I do so I do not get the behavior I  expect to have, perhaps I'm missing something?

I define the keyword with the synonyms. I do not add a best bet because I would like SP to get me all the items having a content matching the a synonym. However when defining only the keyword and synonym, if I enter the synonym in the search box I only get the keyword as result but not the items having this keyword associated to their content.

Am I missing something or is just not a behavior supported out of the box in SP2010?

Thanks,

Stéphanie

 


Friday, May 21, 2010 6:16 PM ✅Answered | 1 vote

You need to make sure the crawled property is set to include the values for the property in the search index.  Go to central administration, and then go to the "Search Service Application". Here click on "Metadata Properties". Then on this page click on "Crawled Properties". Select the "SharePoint" category. Find the crawled property for "Fruit". Click on it and then make sure the " Include values for this property in the search index" is checked. Then go to "Content Sources".  Clcik on the content source menu and select "Start full crawl" Once this is done then search should return the items you are looking for.

certdev.com


Friday, May 21, 2010 9:13 PM ✅Answered | 1 vote

Have you tried configuring a thesaurus file?

Specifying synonyms for query words or phrases   A search administrator can specify one or more words or phrases as synonyms for a particular word or phrase that a user might type in a search box. For example, an administrator might specify “IE”, “IE8”, and “Internet Explorer” as synonyms for one another. When one of these terms appears in a query, the system also searches for the other terms. Therefore, a query on any of these three terms could return search results that contain “IE”, “IE8”, or “Internet Explorer”.

From this page: http://technet.microsoft.com/en-us/library/dd361734.aspx

Serge


Friday, May 21, 2010 10:35 PM ✅Answered | 1 vote

Hi Stéphanie,  what you are asking for isn't available "out of the box".

As you noted, the taxonomy/EMM fields are automatically created as managed properties, but this likely isn't going to help.  Unfortunately, at actual query time, there is no connection with the taxonomy system, so there is no "search expansion".

To accomplish what you would like will require overriding the search box to check the taxonomy system for exact matches of the input string and expand the actual query sent to the search system to include all synonyms if you get a term back.

That might be somewhat outside the scope of your work though.

One other point, is that if you get a large number of search results back that contain the fruit field, you should get an automatic refinement that will allow you to filter on Fruit == apple, and if you get > 50 results back, you should get a "more" section in the refinement with a taxonomy input box.  If you were type "cort" into this box, you should get the "Apple (Cortland)" result.  Note that this won't do a full text search, but rather a managed property search. 

Hopefully that makes some amount of sense.

Pat.


Friday, May 21, 2010 12:13 AM

You can define synonyms in the "Search Keywords" section of "Site Collection Administration". Here you can add a Keyword, in this case "Apple" and then you can enter in a comma delimmited list of synonyms, in this case "cortland" and "granny smith". Thus when a user types in "cortland" the search engine will return items where the content contains Apple.certdev.com


Friday, May 21, 2010 7:34 PM

Thanks for the answer however the metadata properties were already included in the index. I also tried by creating a new metadata property based on the sharepoint property.

I have reset the index and restarted a full crawl several times but observed no changes.

Any other suggestion by chance? Otherwise I will just put this feature aside for the moment.

Stéphanie


Friday, May 27, 2011 8:33 AM

Hi Pat,

I have a query around the suggested approach.

By overriding the search box & a lookup on the Taxonomy store for synonyms of the search term, how would the synonym term become searchable in the document which has the parent label ?

I mean, if the parent label is IE & the synonym is IE8 in the term store on EMM. The list item column would have the value as IE(i.e. the parent label) & i assume that the search index would also have IE as part of its index.  Hence, this item would never turn up in the result set if i search for IE8. is that a correct understanding ?

BTW we are using FAST Search for sharepoint 2010 & i hope the indexing behaviour would be same. Only the parent label which is displayed on the list item column would be indexed & can be searched on.

Would appreciate your guidance.

Thanks,

Ashwani