Hub managers
Plugins
Twenty-six plugin directories ship in the search group. Twenty-four of them are registered at install and appear under Extensions > Plug-ins with the filter Type: search; the other two are not — see Two plugins that are not installed. They do not all do the same thing, and which ones matter depends on the engine the hub is running.
Read this page when a content type is missing from search results, or before disabling anything in this group. On a Basic hub each plugin is a content type, so turning one off is how you take a type out of search — the only way, in fact, since there is no per-type setting anywhere else. On a Solr hub almost none of them matter, and the two that do ship switched off.
Plugins for the Basic engine
These turn a query into results by searching the hub's own database. Each one is a content type; disabling one drops that type out of Basic search results immediately, with no re-index and nothing to rebuild — re-enable it and the type comes back on the next query. All of them are enabled on a new hub.
This is the lever to reach for when a hub has a content type it does not use. A hub with the forum switched off has no forum posts to find, so the plugin costs a pointless database query on every search; disabling it is safe. It is also the lever for a hub whose wiki is an internal scratchpad that should not surface in site search.
| Plugin | Searches |
|---|---|
| Search - Blogs | Blog entries |
| Search - Citations | Citations |
| Search - Collections | Collection posts |
| Search - Content | Articles |
| Search - Courses | Courses |
| Search - Events | Calendar events |
| Search - Forum | Forum posts |
| Search - Groups | Groups |
| Search - Kb | Knowledge base articles |
| Search - Members | Member profiles |
| Search - Projects | Projects |
| Search - Publications | Publications |
| Search - Questions | Questions and answers |
| Search - Resources | Resources |
| Search - Sitemap | Hand-written site map entries |
| Search - Wiki | Wiki pages |
| Search - Wishlists | Wishlist items |
Search - Sitemap is the odd one. As well as contributing results, it supplies the whole administrative screen the Basic engine shows at Components > Search: a small editor for site map entries, so that a query about the structure of the hub — rather than its content — can be answered with a hand-written link.
Plugins that shape Basic ranking
These contribute no results of their own. They adjust the terms or reorder what the content plugins returned. All are enabled on a new hub except Search - Weighttools, which ships disabled — enable it on a tool-centred hub where tools should outrank the presentations and datasets that mention them.
They are the Basic engine's equivalent of boosting, and they are cruder: each is on or off, with no strength to set. Turning one off and running the same search again is the whole of the tuning available.
| Plugin | What it does |
|---|---|
| Search - Suffixes | Expands query terms with common word endings. |
| Search - Weighttitle | Raises results whose title matches the query. |
| Search - Weightcontributor | Raises results whose contributors match. |
| Search - Weighttools | Weights resources of the tool type. Ships disabled. |
| Search - Sortcourses | Groups near-identical course resources together. |
| Search - Sortevents | Orders event results. |
Plugins for the Solr engine
Solr indexing does not go through the content plugins above. It goes through
the models that implement Hubzero\Search\Searchable, driven by a single
plugin, which ships disabled:
| Plugin | Directory | What it does |
|---|---|---|
| Search - Solr | core/plugins/search/solr |
Handles search.onAddIndex and search.onRemoveIndex, converts the saved record to a Solr document, and writes it. This is the plugin that keeps the index current; a hub using Solr must enable it. |
Enabling it is safe on a hub that has not switched engines: with Engine set to Basic (default) it has nothing to do. The risk runs the other way.
Two plugins that are not installed
Two directories in core/plugins/search have no extension row on a new hub,
so they do not appear in the plugin manager at all and cannot be enabled from
it. Nothing is missing as a result — neither is needed — but they are worth
knowing about, because running Discover in the extension manager pulls
them in and produces two confusing entries.
| Directory | Manifest name | What it is |
|---|---|---|
core/plugins/search/remote |
Search - Solr | Posts documents to a separate indexing service over HTTP, for a Solr instance shared by several hubs. It hears only the batch operations — a component index, rebuild, or clear — not individual saves. Its Connection Info parameters take that service's URL and access token. |
core/plugins/search/tickets |
Search - Resources | Contributes no Basic search results and no Solr documents; it answers only the type-list event used by the search API. Support tickets are not searchable from the site either way. |
The plugins that look like indexers and are not
Seventeen search plugins — every one in the first table except
Search - Sitemap, plus the uninstalled tickets plugin — carry an
onIndex method that turns a record into index data. It is easy to read
that as Solr support for forum posts, wiki pages, questions and wishlists.
It is not. The only thing in this tree that
raises search.onIndex is the Process Queue cron event, and that event
reads a queue table nothing ever writes to. None of those seventeen handlers
has ever been called on a running hub.
Take the practical point and ignore the archaeology: what is in the Solr index is decided by the eleven models listed in Breadth, and by nothing else.
The system plugin
Indexing also depends on one plugin outside the search group: System -
HUBzero (plg_system_content) under Type: system, which raises the
event that Search - Solr listens for. It is enabled by default. If new
content stops appearing in search, check that plugin and Search - Solr
before anything else.
Rewritten and checked against 2.4-main @ 009ec973b7 on 2026-09-10.