Search code examples
google-search-appliance

Aggregate results with different metadata content in one dynamic facet


We have a need to combine different content under a single filter.

For example: There are two pages with content_format meta tag.

One page with video content: <meta name="content_format" content="Video"/>

And other with audio: <meta name="content_format" content="Audio"/>

We should create one facet "Video/Audio" with both pages in this facet.

I found in documentation that it is possible to change "Display Label" for dynamic navigation through Entity Recognition:

The display label for the attribute appears on the search results page. The display label can be different from the name of the entity as configured for entity recognition or the attribute in HTML. For example, for "pub" in the following META tag, <META NAME="pub" CONTENT="Google">, you might use the display label "Publisher." https://www.google.com/support/enterprise/static/gsa/docs/admin/72/admin_console_help/serve_dynamic_navigation.html#displaylabel

I think about ability to combine several metadata values through Entity Recognition,but at the same time, the documentation for Entity Recognition says that Entity will not be created for metadata:

The search appliance extracts entities from the content of documents; it does not extract entities from the metadata associated with a document. https://www.google.com/support/enterprise/static/gsa/docs/admin/72/admin_console_help/crawl_entity_recognition.html

Is it possible to aggregate search results with different metadata content(with equal metadata name) in one dynamic facet?


Solution

  • You won't be able to do this. Also, the display label stuff wouldn't help you here, it just lets you specify the label that would be shown to the user.

    To solve this problem, you'll have to find a way to aggregate the metadata prior to indexing. If you're dynamically generating content, simply add a new metadata field if the current metadata field would match audio or video. If you're not dynamically generating content, use a metadata feed or crawl proxy to inject the new metadata field.