Multiple site news search with Funnelback

Hi

 

We manage a number of websites, i.e. Corporate, Business Centre, Careers Centre, Awards, Intranet, etc and have a folder for all news items - which is populated by our Marketing (Backend users).

When a news items is added, they categorise it using a specific metadata schema - this states which site the news is relevant for along with other data which stimulates related assets.

 

We have started to incorporate Funnel back to our site searches and wanted to use it for this.

 

Has anyone got any suggestions, ideally we'd like to have one collection that could be filtered depending on the site that the search page is deployed on that would know where it is and filter the news respectively.

 

Any suggestions?

Hi Cromers - 

 

You've got a couple of options here, but they'd all take a similar approach.

 

If you're using a single collection for all the websites, you'll need to pass a scoping operator along with the user's query.  Something like:

/s/search.html?collection=all-websites&query=QUERY&scope=website1

The value of the 'scope' parameter would need to be set by the calling site's template.  For example:

<!-- Multi-website search -->
<form action="/s/search.html" method="GET">

<!-- Value of scope determined dynamically by calling website –>
<input type=“hidden” name=“scope” value=“SCOPE”>
<input type=“hidden” name=“collection” value=“all-websites”>
<input type=“search” name=“query” value=“”>

</form>

See also: http://docs.funnelback.com/url_scope.html

 

If you're using one collection per website, you'll need to alter the value of the 'collection' parameter on a per-website basis:

<!-- Single-website search -->
<form action="/s/search.html" method="GET">
  <!-- Value of collection determined dynamically by calling website -->  
  <input type="hidden" name="collection" value="COLLECTION">
  <input type="search" name="query" value="">
...
</form>

Finally, if you're using a multi-website collection, but no easy URL patterns are available for scoping, but you have metadata present in the pages to indicate the site name, a metadata-scoped search would be appropriate:

<!-- Multi-website search -->
<form action="/s/search.html" method="GET">
  <!-- Value of metadata scope determined dynamically by calling website -->
  <input type="hidden" name="meta_A_sand" value="SITE NAME">
  <input type="hidden" name="collection" value="COLLECTION">
  <input type="search" name="query" value="">
...
</form>

You'd need to ensure that your collection had a corresponding mapping for 'A' in metamap.cfg:

 

See also: http://docs.funnelback.com/query_operator.html

A,1,site-name

All of these calls should be easy enough to test in isolation - the component that I'm not able to advise on is how you'd configure your CMS (presumably Matrix) to alter the value of collection/scope/meta_A_sand based on the calling page.