Search Improvements

Search Improvements 2.17.7

No permission to download
  • Workaround XF bug where a search type parameter was not validated as being allowed for a search handler
  • Workaround XF bug where a search could be constructed which targeted the parent (ie thread) content type and not the child (ie post) content type resulting in potentially degraded search results
  • Replace search/member search with a redirect to a standard search with the appropriate parameters entered. Stock XF member searches are slightly specialized and the general search is missing several features to support normal search being a strict super-set of member search.
    • XF lacked a "search only X" per search tab that this add-on injects
    • XF would target the parent type and didn't figure out the child type
  • Force a search without a query string to render it as * which allows member searches to be edited/refined
  • Redirect to XFES configuration page if XFES isn't configured instead of the search index list
  • Show basic statistics on the search index list page
  • Fix additional XFES index page would show even when XFES was not installed/active
Thanks to @NamePros for sponsoring this update.
This add-on is now available on atelieraphelion.com

This update will require a full search rebuild, truncating the index before re-indexing.
  • Require Standard Library by Xon v1.18.0+
  • Workaround for XF bug where the search URL did not contain the various query string arguments, causing issues when the URL was shared
  • Workaround for XF bug where the search ownership check wasn't strict enough
  • Workaround for XF bug where a user's recent content had a "view more" link which rendered even if the visitor didn't have permission to search
  • Move some permission handling code into StandardLib so it has a common hook point
  • Fix edge case where XFES is installed by not enabled causing XFES-only code-paths to be triggered
  • Fix reporting search terms without phrases on the results page return false positives
  • Fix various search result terms missing phrases, bad rendering of links
  • Fix pushing viewable ticket category constraints into ElasticSearch for NixFifty's Tickets add-on
  • Search result terms are now sorted to pull known important bits first
  • Add various helper functions & template macros for writing search criteria
  • Improvements which require ElasticSearch (aka Xenforo Enhanced Search)
    • Support for ElasticSearch Essential's "container only" search term result criteria
    • Tickets:
      • Search by min/max number of replies, sort by number of replies
      • Search by ticket participants
  • Fix searching by member without a keyword for a guest
Thanks @NamePros for sponsoring this update
  • Fix cached search results would be unexpectedly be viewable to anyone if they guessed the search result URL.
    • Affected versions; v2.8.1
    • These search URLs expire after a day
  • Fix search term on search result pages leaking information for non-viewable content
    • Affected version; v2.7.4, v2.7.5 and v2.8.1
    • Fix leaking thread title when using "In thread" search area, and rendering a bad phrase if the thread doesn't exist
    • Fix linking to non-active user profiles when searching by members
  • Workaround for an XF bug where the cached search results for a member search could be directly shared with a guest
    • Non-visible items on the result page where not rendered, but this does leak that there are hits in not viewable to guests areas.
  • Like
Reactions: vwts
Thanks @NamePros for sponsoring this update
  • Fix "before" search result term would print an integer instead of a human readable yyyy-mm-dd formatted string
  • Change 'no results found' handling to display search terms on the relevent page
    • If using ElasticSearch Essentials, recommend updating to v3.13.0+ as this change may impact some options which display on no results found.
  • Fixes for search term on results page
    • Add missing "With X thread" search term
    • Fix "Users" search term could fail to render the list of usernames
    • Add the 'content type' search term
  • Like
Reactions: imno007 and VBX Co
  • Remove usage of utf8_* function(s), and use native php multi-byte functions instead.
  • Fix HTML markup error in svPushViewOtherCheckIntoXFES option description
  • Fix bug where 'weight by content type' feature didn't work as expected in general search
  • Thanks to @NamePros for sponsoring this update.
  • Display various search term constraints on the search results form.
    For developers to implement support in 3rd party add-ons:
    • Each search constraint needs a svSearchConstraint. prefixed phrase.
      Arrays are mapped to phrases by adding a _ for each sub-array/key as such; c[warning][points][lower] => svSearchConstraint.warning_points_lower
    • Each search order needs a svSearchOrder. prefixed phrase.
    • Extend XF\Entity\Search::getSpecializedSearchConstraintPhrase(string $key, $value) to provide custom phrase handling (ie node names)
    • Extend XF\Entity\Search::formatConstraintValue(string $key, $value) to provide custom formatting.
    • Extend XF\Entity\Search::setupConstraintFields to populate $svDateConstraint/$svUserConstraint/$svIgnoreConstraint properties which control formatting
  • Use the debug option "List all unphrased search constraints" which will dump unmapped contraints to search results page.
  • Fix incorrectly adding a return type to XF\Search\Search::isValidContentType
  • Fix typo in admincp options phrase
  • Require php 7.2+
  • 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:
    For best results, use ElasticSearch Essentials add-on, as it simplifies this permission constraint compared to stock XenForo
Back
Top Bottom