Search module change log

Version 2.3.1:
 - Bug Fix: '(' and ')' characters when passed in as part of search string could fail

Version 2.3.0:
 - Bug Fix: On very large search indexes not all results were being found correctly

Version 2.2.5:
 - Bug Fix: Some user data keys were missing from the full text search index

Version 2.2.4:
 - Bug Fix: Natural Language Only option may not work consistently

Version 2.2.3:
 - Bug Fix: Starting a new search from results page 2 could result in no results found

Version 2.2.2:
 - Bug Fix: Possible SQL error when mnanually navigating to pages beyond end of the result set

Version 2.2.1:
 - Change: Updated search_results.tpl and search_module_form.tpl to use new Core Activity indicator

Version 2.2.0:
 - Change: Removed unused "jrSearch_popular" and "jrSearch_recent" template functions - use jrCore_list

Version 2.1.4:
 - Change: Searched keyword is no longer used in page title on results page

Version 2.1.3:
 - Change: Change to how custom form designer fields are checked in search

Version 2.1.2:
 - Change: Small performance improvement when using a full_text Datastore search param

Version 2.1.1:
 - Bug Fix: Additional search fields injected by module event listeners may not be indexed properly

Version 2.1.0:
 - Change: "search_item_ids" event updated to be available for all listening modules
 - Bug Fix: "Include Partial Matches" may not function correctly on Documentation and Forum modules

Version 2.0.6:
 - New: Support added for "skip_search_order" jrCore_list param to skip search relevance ordering

Version 2.0.5:
 - Change: Search query optimization that should help speed up "all" search on very large sites

Version 2.0.4:
 - Bug Fix: Search strings in quotes could return invalid results depending on module searched
 - Bug Fix: Possible error if BOTH dedicated index and disabled option is checked for a module

Version 2.0.3:
 - Bug Fix: "AND" and "OR" search operators may return more or less results than they should

Version 2.0.2:
 - Bug Fix: Removing the last tag from an item was not removing it from the search index

Version 2.0.1:
 - New: Better search results when searching for exact matches using quotes

Version 2.0.0:
 - New: Dedicated module search index support enabled in "Unique Module Index" global config
 - New: Ability to set the Search result display order added to Global Config
 - New: "Disabled Modules" Global Config setting to disable searching specific modules
 - Change: Updated search SQL query to be a bit faster on really large search indexes
 - Change: Module index search button no longer shows if there are no items
 - Change: Search results for empty set shows "results not found" instead of Page Not Found
 - Bug Fix: Index Rebuild tool could cause high load due to rapid cache create/delete
 - Bug Fix: Updating an item may not update all values in item entry in search index
 - Bug Fix: Direct URL to a module search could return all items instead of matched items

Version 1.7.3:
 - New: Support added for "jrSearch_match_limit" advanced config key to set internal match limit
 - Change: Default internal match limit raised from 1000 to 10000 match results

Version 1.7.2:
 - Bug Fix: Search result function not returning comments with the correct pagination

Version 1.7.1:
 - Bug Fix: Full Text search index not being removed when Developer Tools "Reset System" tool is run

Version 1.7.0:
 - New: Support added for "full_text" match operator when using jrCore_db_search_items()

Version 1.6.6:
 - Bug Fix: SQL error on some installs due to schema check for InnoDB tables

Version 1.6.5:
 - New: InnoDB used as engine type if using MySQL 5.6+ or MariaDB database server

Version 1.6.4:
 - New: Support for custom "search_url" parameter added to {jrSearch_module_form} function

Version 1.6.3:
 - Change: Search terms less than 3 characters long now return "no results"
 - Bug Fix: Additional search conditions could be added to some module index searches

Version 1.6.2:
 - Bug Fix: Boolean search term not appearing correctly on search results page

Version 1.6.1:
 - Bug Fix: Regression in module search performance introduced in 1.6.0.

Version 1.6.0:
 - New: "Optimize Queries" global config option to help speed up queries on larger sites
 - New: "Search Method" global config option to select how search terms are processed

Version 1.5.2:
 - Bug Fix: Next Page button not showing on some "See All Results" pages

Version 1.5.1:
 - Bug Fix: Regression in version 1.5.0 for item searches with existing search conditions

Version 1.5.0:
 - New: Query optimizations to make search must faster on very large sites
 - New: "Refresh" button on indexing in progress notice in Search -> Global Config
 - New: "Log No Results" global config option to log search terms that return no results
 - Change: Searches with more than 5 words now uses natural language search instead of boolean
 - Change: Search results now uses Simple Pager for performance reasons
 - Bug Fix: "See All Results" showing on result page for individual modules

Version 1.4.4:
 - New: Support for NOT operator (-) on multiple word search phrases

Version 1.4.3:
 - Bug Fix: "View All Results" link not showing when search is confined to a single module

Version 1.4.2:
 - New: Results caching to improve performance when paging through a module search result set
 - Change: search_results.tpl updated to use proper "title" class for results title in header

Version 1.4.1:
 - New: "Include Partial Matches" config option to re-run search query when no exact match is found
 - New: Updated to pass total search result count to core DS functions for improved performance

Version 1.4.0:
 - New: Weighted Search fields to make result ordering better and more relevant
 - New: "Rebuild Search Index" tool to rebuild search index on demand
 - New: Additional Search Fields validates input is a datastore key
 - New: Search for exact match by placing search string in "quotes"
 - Change: Search Index Worker now processes 250 items at a time to keep from using too much memory
 - Change: "Use Full Text Index" removed from Global Config - full text search is always used
 - Change: Improved search speed on large systems for short search strings (under ft_min_word_len length)
 - Change: Search results form is now in a block CSS class instead of a title CSS class.
 - Change: Search table is checked before inserting new rows to ensure the columns are correct
 - Change: Global Search now submitted as "GET" by default to avoid "expired form" warnings
 - Bug Fix: Module index search may not work correctly on some search strings
 - Bug Fix: Item Tags not being saved to full text index
 - Bug Fix: underscores being removed from item text before inserting into full text index
 - Bug Fix: Page Title not being properly set on result pages
 - Bug Fix: Search input on module index pages may return no results when results exist
 - Bug Fix: Some HTML tags could be included in full text word index

Version 1.3.7:
 - New: automatic discovery of minimum word length DB configuration to run Full Text Search
 - Bug Fix: Items with tags may not have all keywords indexed properly

Version 1.3.6:
 - Bug Fix: Page jumper was not getting the correct URL.

Version 1.3.5:
 - Bug Fix: Inactive modules shown as options in selection lists

Version 1.3.4:
 - Bug Fix: Language strings might not show up in search box

Version 1.3.3:
 - New: Search Site and Modules widget added for use in Site Builder

Version 1.3.2:
 - Bug Fix: "Indexing" message always showing in Global Config if Cloud Queue Client module installed

Version 1.3.1:
 - New: Ability to search more than 1 module with multiple modules passed in on URL

Version 1.3.0:
 - New: "Enable Full Text Search" option for improved text searches
 - New: "Index Result Count" Global Config option for setting per module result count on results index
 - New: "Module Result Count" Global Config option for setting pagebreak on "View All Results" pages
 - New: {jrSearch_module_form} now accepts "search" parameters to add additional search conditions
 - Change: search_results.tpl updated to use same pager style as core provided list_pager.tpl

Version 1.2.8:
 - Bug Fix: Quota keys were not being included for use in item_search.tpl

Version 1.2.7:
 - Bug Fix: {jrSearch_module_form} could cache the name of the search fields for too long

Version 1.2.6:
 - Bug Fix: Custom Search fields could be included in the wrong module results

Version 1.2.5:
 - New: {jrSearch_module_form} can now be used on module item_index.tpl files
 - Bug Fix: changed "working" spinner image (was not working in all skins)

Version 1.2.4:
 - New: {jrSearch_module_form} function for module index page search form

Version 1.2.3:
 - Bug Fix: Pressing "search" again on a search result set would return no results

Version 1.2.2:
 - Bug Fix: Fix for XSS security advisory: https://www.htbridge.com/advisory/HTB23224

Version 1.2.1:
 - New: active skin can now override default search template on a per module basis

Version 1.2.0:
 - New: Global Config setting to specify additional and custom search fields
 - New: Activity Indicator added to search form + template tweaks

Version 1.1.4:
 - New: Focus on the search input when the modal opens.  Saves clicking on it to start search.

Version 1.1.3:
 - Change: Profiles always now appear as the first entry in an "all" search
 - New: "search_fields" trigger to allow modules to modify fields being searched

Version 1.1.2:
 - Change: Active skin can now override module provided search template using Module_item_search.tpl

Version 1.1.1:
 - Fix for search_string XSS security vulnerability: https://www.htbridge.com/advisory/HTB23184

Version 1.1.0:
 - New ability for modules to register a custom search function for producing search results
 - Search forms changed to GET to prevent Document Expired pages in Firefox

Version 1.0.0:
 - Initial Release