Provides search capabilities including search by module, popular searches and module level template overrides to all Jamroom modules that register for it. part of the Jamroom Core.
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