---
Core
Smart Search
- Search
- Smart Search
- Large Websites
- Questions
---
Search (com_search)
----
### Search (com_search)
- Used until Joomla 3.3.12
- Keyword-based, full-text search
- No real indexing: queries scanned content live
- Basic query-matching – no context or ranking
- Plugins search content in specific tables
- content
- categories
- contacts
----
### Problems with Search (com_search)
- Search slow on large sites
- No control over weighting/relevance
- No fuzzy matching or synonyms
- Plugins needed for everything
- Order Plugins = order search results
---
Smart Search (com_finder)
----
### Smart Search (com_finder)
- Since Joomla 2.5, improved in Joomla 4+
- Pre-indexes content in database
- Tokenizes and categorizes words
- Supports fuzzy logic, stemming, synonyms
- Ranks results by relevance
- Fast: no need to search raw content each time
- Autocomplete with Ajax
----
### Smart Search Database Tables
- #__finder_filters – Stores search filter settings (e.g. published status, language)
- #__finder_links – Main index: one row per searchable content item (article, contact, etc.)
- #__finder_links_terms – Maps indexed content to search terms (tokens)
- #__finder_logging – Logs the indexing process and errors
- #__finder_taxonomy – Stores hierarchical content groupings (like categories)
- #__finder_taxonomy_map – Links indexed items to their taxonomy entries
- #__finder_terms – All individual words (tokens) used in the index
- #__finder_terms_common – Stop words (ignored common words like “the”, “and”)
- #__finder_tokens (MEMORY) – Raw tokens extracted from content
- #__finder_tokens_aggregate (MEMORY) – Aggregated data about tokens (for scoring)
- #__finder_types – Content types in the index (e.g. articles, contacts)
----
### Smart Search Architecture
- Finder Indexer scans and stores content tokens
- Indexer supports multilingual content
- Uses plugins to index different content types
- Search is query → tokens → matched results
----
### Smart Search: Indexing
- Manual
- Components > Smart Search > Index > Index
- Automatic (on save)
- CLI support for batch indexing
cli/php joomla.php finder:index
- Keeps index updated in near-real time
----
### Smart Search Configuration
- Including/excluding content types
- Language settings
- Synonyms, stop words, stemming
- Control over what gets indexed and how
- Filters
---
Large websites
----
### Large Sites
- Performance https://docs.joomla.org/Smart_Search_on_large_sites
- Elastic Search
---
More info?
----
### Some resources
- https://www.joomlart.com/blog/smart-search-joomla-4-a-new-all-in-one-search-component
- https://docs.joomla.org/Smart_Search_on_large_sites
- https://docs-next.joomla.org/help/smart-search/smart-search-options/
- https://joomla.center/en/knowledge-base/smart-search-joomla
- https://docs.joomla.org/Smart_Search_quickstart_guide
---
Questions?
----
## Photo Credits
- https://unsplash.com/photos/magnifying-glass-near-gray-laptop-computer-d9ILr-dbEdg
- https://pixabay.com/photos/notebook-paper-pages-open-731212/
- https://unsplash.com/photos/black-nikon-dslr-camera-beside-black-framed-eyeglasses-and-black-framed-eyeglasses-SsoKppt2pqY
- Generated with ChatGPT
- https://unsplash.com/photos/landscape-photo-of-mountain-island-DXQB5D1njMY
- https://unsplash.com/photos/a-room-with-a-lot-of-books-in-it-O_DUcg4cDlc
- https://unsplash.com/photos/a-group-of-white-and-orange-objects-IVGZ6NsmyBI