Plugin development
Introduction
A Funnelback plugin is a package that can be installed onto the Funnelback server. By creating a plugin, you can package up custom code that is executed by Funnelback to provide additional functionality that others can use.
Plugins are subject to review by the Funnelback product team prior to being installed onto the Funnelback server. See the publishing section for information on how to submit your plugin for review.
On average the product team will provide a decision on your plugin within two business days of receiving the request.
Creating your first plugin
To help you to create your first plugin we have put together a developing your first plugin guide. The guide walks you through creating a plugin to replace a common prefix in the title of every search result. It steps you through:
-
setting up your development environment;
-
generating your plugin project;
-
writing the plugin itself; and then
-
packaging and deploying your plugin.
Reference documents
Plugin interfaces
Plugins provide various interfaces that enable the implementation of:
-
A custom gatherer for use with a custom collection to enable the gathering of content from arbitrary data sources.
-
Document filters that can be added to a collection’s filter chain and used to manipulate document content prior to indexing.
-
Jsoup filters that can be added to a collection’s jsoup filter chain to manipulate html content prior to indexing.
-
Indexing configuration that will be set for a collection, primarily to support the plugin’s custom functionality. This includes configuration of metadata mappings, external metadata, gscopes, kill lists and auto-completion CSV.
-
Query-time modifications to the question and response data model, functionality previously implemented using hook scripts.
-
Plugin servlet filter hooks, functionality previously available as Custom servlet filter hooks