Custom Summaries

Introduction

Funnelback's query processor is capable of generating several different types of summary for each search result, as detailed in the table below. Summary modes can be altered either via CGI parameters or through query_processor_options in collection.cfg

Summary modes

Summary Mode Description Effect of Summary Fields
snippet Print appropriately fielded words from start of doc. Which fields are appropriate
debug Print every word with its field tag Ignored
meta Print document metadata Which fields to display
auto Print metadata codes if specified in user query Which fields are appropriate
qb Print query-biased summary Which fields are appropriate
both Print both a query-biased summary and metadata fields Which fields are appropriate

Note: If an attempt to print a metadata summary or a query-biased summary is unsuccessful, a snippet will be shown. For efficiency reasons the query-biased summary mechanism will only look a certain number of words into the document.

Using Metadata in Summaries

Enabling metadata summary mode requires an administrator to specify which metadata fields to use in the summary. The example below uses metadata fields a, c, and s:

query_processor_options=-SM=meta -SF=[a,c,s]

Displaying Metadata in the Public UI

The required meta fields must also be present in the search forms. The default Funnelback search forms contain the a, c, s and p fields. These can be modified to any desired metadata field by editing the search forms. Simply replace the letters and the description as shown in the example below.

Default simple.ftl file:

<#if s.result.metaData["c"]??><p>${s.result.metaData["c"]!}</p></#if>
<#if s.result.metaData["a"]??><span><span>by </span> ${s.result.metaData["a"]!}</span></#if>
<#if s.result.metaData["s"]??><span><span>Keywords:</span> ${s.result.metaData["s"]!}</span></#if>
<#if s.result.metaData["p"]??><span><span>Publisher:</span> ${s.result.metaData["p"]!}</span></#if>

Custom simple.ftl file:

<#if s.result.metaData["d"]??><span><span>Date:</span>${s.result.metaData["d"]!}</span></#if>
<#if s.result.metaData["c"]??><span><span>Description:</span> ${s.result.metaData["c"]!}</span></#if>
<#if s.result.metaData["l"]??><span><span>Language:</span> ${s.result.metaData["l"]!}</span></#if>
<#if s.result.metaData["p"]??><span><span>Publisher:</span> ${s.result.metaData["p"]!}</span></#if>

Configuring Query-Biased Summaries

When using a query-biased summary mode (-SM=qb|both), additional controls can be applied to snippets:

Sentence Order

By default, sentences in a query-biased summary appear in the natural document order. However, it is possible to present them in order of decreasing match in relation to the supplied query e.g.

query_processor_options=-EORDER=1

Number of Excerpts

By default, three sentences are used in a query-biased summary in the order specified. Additional sentences can be used to generate the query-biased summary e.g.

query_processor_options=-SQE=4

Summary Lengths

Summary Buffer Length

For the sake of efficiency, there is a limit to how much space is allocated for each generated summary. The default summary buffer length should be adequate for most uses. However, if summaries appear to be too short, then it may become necessary to increase the summary buffer length option to give Funnelback the space it needs to generate summaries. e.g.

query_processor_options=-SBL=450

The current default summary buffer length is 250 characters.

Metadata Buffer Length

The metadata buffer length determines the amount of characters each individual metadata field may hold. The default metadata buffer should be adequate for normal metadata field values. However, if the metadata output appears to be truncated it may be necessary to increase the metadata buffer length so that all data can be stored. e.g.

query_processor_options=-MBL=1000

The current default metadata buffer length is 250 characters.

Examples

This example uses a metadata-based summary mode, returning the metadata fields author, type and description:

query_processor_options=-SM=meta -SF=[author,type,description]

This example uses a query-biased summary mode, with five excerpts being returned in order of relevance in the document:

query_processor_options=-SM=qb -SQE=5 -EORDER=1

This example uses both metadata and query-biased summaries, sourcing metadata fields f and subject, doubling the default length for both excerpts and metadata fields:

query_processor_options=SM=both -SF=[f,subject] -SBL=500 -MBL=500

See also