Plugin: Query language - wildcard (truncation) support

Purpose

This plugin can be used to add limited wildcard (truncation) support to user queries. It allows you to use the asterisk operator on the right-hand side (only) of words in a query. Each word that is followed by an asterisk will be internally expanded into a set of words that start with indicated word.

When to use this plugin

This plugin should be used if you need to provide wildcard support in queries.

Once enabled, queries such as Dan* Smith or aus* directory pol* should now be accepted.

This provides an efficient way of supporting wildcards - however the expanded query won’t return all the matching results (compared to if a full expansion of the wildcard was performed). There is a fine balancing act between performance and completeness of the search result set and the goal of a web search engine such as Funnelback has always been to return a set of relevant results. This set isn’t necessarily complete as shortcuts are taken to determine relevant results quickly.

Usage

Enable the plugin

Enable the query-wildcard-supporton your results page from the Extensions screen in the administration dashboard or add the following data source configuration to enable the plugin.

plugin.query-wildcard-support.enabled=true
plugin.query-wildcard-support.version=1.0.1
The plugin will take effect as soon as it is enabled.

Plugin configuration settings

The following options can be set in the results page configuration to configure the plugin:

  • plugin.query-wildcard-support.config.partial_query_expansion_index: Maximum number of query terms used to expand the partial query. Default: 5

Example

To set the maximum number of query terms to expand partial query as 6, configure the plugin with:

plugin.query-wildcard-support.config.partial_query_expansion_index=6

Details

This plugin uses the auto-completion service to expand any words that are followed by an asterisk operator in a query.

The expanded queries can be seen by viewing the JSON or XML output and looking at the query/queryAsProcessed/queryRaw/querySystemRaw/queryCleaned values from the response packet. Expansions are injected into the querySystemRaw element.

Change log

[1.0.1]

Changed

  • Use custom isNumeric method as in Jsoup v1.12.1 class org.jsoup.helper.StringUtil was moved and marked for internal use only.

© 2015- Squiz Pty Ltd