Configure the automatically generated result summary
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 by setting query_processor_options
in your results page configuration.
Summary modes
Summary mode | description |
---|---|
both (default) |
Prints a description or query-biased summary and the metadata field values specified in the summary fields ( |
qb |
Print a query-biased summary. This returns sentence fragments that consist of search query terms with some surrounding text to provide context. |
meta |
Print only metadata values as specified in the summary fields ( |
snippet |
Print a generated summary extracted from fielded words at the start of the document. |
auto |
Print metadata codes if specified in user query. |
off |
Disables all summaries and prevents metadata being returned in the search results and data model |
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 metadata 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 templates. Simply replace the metadata classes and the description as shown in the example below.
Default simple.ftl
file:
<#if s.result.listMetadata["c"]?first??>
${s.result.listMetadata["c"]?first!}
</#if>
<#if s.result.listMetadata["author"]?first??>
by: ${s.result.listMetadata["author"]?first!}
</#if>
<#if s.result.listMetadata["keyword"]?first??>
Keywords: ${s.result.listMetadata["keyword"]?first!}
</#if>
<#if s.result.listMetadata["publisher"]?first??>
Publisher: ${s.result.listMetadata["publisher"]?first!}
</#if>
Custom simple.ftl
file:
<#if s.result.listMetadata["d"]?first??>
Date: ${s.result.listMetadata["d"]?first!}
</#if>
<#if s.result.listMetadata["c"]?first??>
Description: ${s.result.listMetadata["c"]?first!}
</#if>
<#if s.result.listMetadata["language"]?first??>
Language: ${s.result.listMetadata["language"]?join(", ")}
</#if>
<#if s.result.listMetadata["publisher"]?first??>
Publisher: ${s.result.listMetadata["publisher"]?first!}
</#if>
Configuring query-biased summaries
When using the query-biased summary mode (-SM=qb
), additional controls can be applied to snippets:
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