Search Improvements

XF2 Addons Search Improvements 2.8.3
Minor search improvements

  • 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.
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
  • 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 "array_fill_keys() expects parameter 1 to be array, null given" error when content weighting has not been configured
  • Fix the "Default search order" option would get reset when changing "Search options" under Enhanced Search Setup page
Top Bottom