Search result 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 |
---|---|
auto | Print metadata codes if specified in user query |
snippet | Print appropriately fielded words from start of doc. |
qb | Print query-biased summary |
debug | Print every word with its field tag |
meta | Print only document metadata |
off | Disables all summaries and prevents metadata being returned in the data model |
both | Equivalent to qb, kept for backwards compatibility |
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 at a certain number of words into the document.
Default summary behaviour
If no custom summary mode is stipulated (via the 'SM' query processor option) then the system will use the first 'description' metadata element found within the HTML markup. For example, given the following, very simple HTML markup:
<meta name="dc.title" content="This is dc.title" >
<meta name="description" content="this is the first description">
<meta name="dc.description" content="this is the second description">
<meta name="thisisadescription" content="this is a description element which has been added to an internal metadata class">
<title>HTML Reference</title>
<h1>My Heading</h1>
<p>My paragraph.</p>
the 'description' element will be used as the summary.
Please note the following points:
- The ordering of the 'description' metadata mappings is unimportant when it comes to the default summary.
- The elements that are to be considered 'description' elements are defined in the metadata mappings, mapped to the 'c' meta class
Using metadata in summaries
Presentation of metadata with search results requires an administrator to specify which metadata fields to present using the -SF option. The example below uses metadata fields author, c, and keyword:
query_processor_options= -SF=[author,c,keyword]
Displaying metadata in the search results
The required meta fields must also be presented within the search forms. The default Funnelback search forms contain the author, c, keyword and publisher 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"]??>
${s.result.metaData["c"]!}
</#if>
<#if s.result.metaData["author"]??>
by: ${s.result.metaData["author"]!}
</#if>
<#if s.result.metaData["keyword"]??>
Keywords: ${s.result.metaData["keyword"]!}
</#if>
<#if s.result.metaData["publisher"]??>
Publisher: ${s.result.metaData["publisher"]!}
</#if>
Custom simple.ftl
file:
<#if s.result.metaData["d"]??>
Date: ${s.result.metaData["d"]!}
</#if>
<#if s.result.metaData["c"]??>
Description: ${s.result.metaData["c"]!}
</#if>
<#if s.result.metaData["language"]??>
Language: ${s.result.metaData["language"]!}
</#if>
<#if s.result.metaData["publisher"]??>
Publisher: ${s.result.metaData["publisher"]!}
</#if>
Configuring query-biased summaries
When using the query-biased summary mode (-SM=qb
), 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-only 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