Partial keywords

Is there a way to turn on auto partial word matching for example, a search for swim would display results with the word swimming? Or are manual synonyms the way to go there?

The functionality you are after is called query truncation and is no longer supported by Funnelback’s default query processing mode.

When working in the old term at a time mode this is supported via the * operator. Document at a time mode which is the current (and recommended) default does not support this, however a workaround is available to implement partial support for this.

See: Redirect Notice

It is not recommended to switch to the legacy term at a time mode as a number of newer features will cease to function when this mode is enabled. Also, legacy truncation is a very expensive operation and can result in a large hit to the search performance.

1 Like

To add to this, a few other things to consider:

  • substring-like matching like this is usually not desirable, as searching for “cat” will return a lot of noisy results: cat, catalogue, category, cathedral, catharsys, catch…
  • swim / swimming should already be covered by stemming I think. This is controlled by the -stem query processor option. The default value is 2 which applies a “light” stemming which may not cover swim / swimming, but you can try setting 3 and see if that helps. However usually it does more harm than good as it again produces very noisy results, that’s why it’s only set to 2 by default
  • Finally, partial word match is supported by the auto-completion endpoint. Depending on what you are trying to achieve an option may be to use the endpoint to get a full query from the partial one, and then run this query to retrieve result (exactly as the default auto-completion system is doing).

Hope this helps!