A collection of improvements to XF's Enhanced Search and some for XenForo's default MySQL search.
MySQL & Elastic Search features;
range_query search DSL
allows arbitrary range queries for numerical data
Allow users to select the default search order independent for the forum wide setting.
Re-adds the global option for the default search type
Elastic Search Only features:
Add ability to push "can view threads/tickets by other" permission(s) into ElasticSearch query, reducing php-side culling of matching content.
This improves searching forums/tickets where the user lacks these permissions.
This is gated behind the option Push "View X by others" check into XFES', as it requires a full reindex. (Default disabled)
Supports the following add-ons:View Sticky Threads (free) add-on.
Collaborative Threads (paid) add-on.
@NixFifty's Tickets (paid) add-on.
For best results, use ElasticSearch Essentials add-on, as it simplifies this permission constraint compared to stock XenForo
Per content type weighting
Adds Elastic Search information to the AdminCP home screen.
Adds a debug option to log the search DSL queries to error log for troubleshooting
Option to extend search syntax to permit;
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
~N after a word signifies edit distance (fuzziness)
~N after a phrase signifies slop amount
In order to search for any of these special characters, they will need to be escaped with \.
"Specialized index" support
Specialized search index allows generating single-purpose elastic search indexes while re-using as much XF search infrastructure as possible.
Username auto-complete powered by elasticsearch
These are examples of a "specialized index".
The username autocomplete it creates an index with just the user/email and replaces the admin quick search and front-end username autocomplete with an elasticsearch powered version.
The tag autocomplete replaces the front-end tag autocomplete with an elasticsearch powered version.
In both cases this allows non-start-of-string matching, with typo tolerance.
2.3+
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.