Funnelback plugins
Funnelback plugins provide custom functionality that have been vetted and reviewed to be shared and reused between different search packages, data sources and results pages.
Custom functionality is implemented as one or more plugins which a Funnelback administrator can install onto Funnelback. Plugins are a way for the community to contribute common solutions to re-occurring problems, or for highly unique solutions to be implemented for a particular problem.
Types of plugins
Plugins allow you to package up functionality that includes:
-
logic that will run at the same time as executing a search package’s hook scripts
-
filters that can be added to a data sources’s filter chain
-
custom gatherers
Some plugins will combine a few of these together.
Available plugins
The following plugins are available for use:
Plugin | Description |
---|
Available plugins are listed on the plugins screen, which can be accessed from the navigation panel within the search dashboard.

-
Clicking the plugins item opens the plugin management screen (the screen pictured above).
-
Entering keywords into this box will filter the plugins displayed in the main panel 5
-
Filter the plugins in the main panel to only list plugins for data sources or results pages.
-
Define how the plugins are sorted in the table. Options are by popularity (based on how often the plugin is enabled on this server) or alphabetically (A-Z or Z-A) based on the plugin’s title.
-
The main panel lists the plugins available to use in your search, filtered and sorted by 2-4. Clicking on a plugin tile opens a screen allowing you to enable the plugin on your search.
Using plugins
Plugins can be enabled on any of your data sources or results pages from the plugins management screen by clicking on the plugin as shown on the screen above, or by directly enabling the plugin in the data source or results page configuration.
Configuration key | Value |
---|---|
plugin.<name of plugin>.enabled |
true |
plugin.<name of plugin>.version |
<version to enable> |
For example, to enable version 1.0.0 of the sample
plugin set:
Configuration key | Value |
---|---|
plugin.sample.enabled |
true |
plugin.sample.version |
1.0.0 |
Multiple versions of the same plugin can be made available on the same server. To use 2.0.0
of the sample plugin set:
Configuration key | Value |
---|---|
plugin.sample.enabled |
true |
plugin.sample.version |
2.0.0 |
if you enable a plugin on a search package, all child results pages will by default inherit that plugin unless you disable it on a specific child results page. |
Custom gather plugins
Some plugins can define a custom gatherer, but these will only run if the data source type is set to custom
. To use a custom gathering plugin, create a custom data source, then enable the plugin on that data source.
If your custom data source uses multiple plugins which define custom gatherers, the following setting in the data source configuration can be used to specify which one to use:
Configuration key | Value |
---|---|
plugin.force-gatherer |
<plugin name> |
For example, to use the gatherer that comes from the sample
plugin:
Configuration key | Value |
---|---|
plugin.force-gatherer |
sample |
Configuring a plugin
While the bare minimum is to enable a plugin with a version, most plugins will be configured by setting keys in the data source, search package or results page configuration. Each plugin will be different, so you will need to read the documentation to know which settings are expected. Additionally, some plugins can supply filters which need to be added to the filter chain.
When do plugins run?
A plugin will run at different times depending on the type of plugin. These can include:
-
At the start of a custom gather, to provide documents to be indexed
-
During indexing, to provide metadata or do other processing.
-
When a query is executed by a user.
Push data sources
Push data sources will run all plugins at a regular interval that is determined by the time it takes to run them all. They will also all be re-run when executing a vacuum with re-index. Push data sources will apply the data from the last successful plugin execution to any new documents committed.