PHPackages                             adrexia/staticsearch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. adrexia/staticsearch

ActiveSilverstripe-module[Search &amp; Filtering](/categories/search)

adrexia/staticsearch
====================

Static Search provides an alternative search option to statically published silverstripe sites

0.1(10y ago)6952[1 issues](https://github.com/adrexia/silverstripe-staticsearch/issues)JavaScript

Since May 27Pushed 10y agoCompare

[ Source](https://github.com/adrexia/silverstripe-staticsearch)[ Packagist](https://packagist.org/packages/adrexia/staticsearch)[ RSS](/packages/adrexia-staticsearch/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Static Search
=============

[](#static-search)

An implementation of [Tipue search](http://www.tipue.com/search/docs/) designed to work in SilverStripe with the [ Static Publish Queue](https://github.com/silverstripe-labs/silverstripe-staticpublishqueue) module. This implementation uses the static mode of Tipue search.

**This module works with:**

- subsites (optional)
- static publish queue (mandatory)

Approach
--------

[](#approach)

- Extension to SiteTree to add methods that generate data for searchable fields. These can be overridden at Page level if necessary.
- Build Task to generate json index files for each subsite (stored in the cache directory).
- Basic implementation of Tipue JavaScript search, in static mode.
- Search page controller to hold results of search (filled in by JavaScript search)

JSON Format:

```
{
     "title": "page title",
     "text":"Prepped page content",
     "tags":"Taxonomy or meta description",
     "loc":"Page URL"
}

```

Set-up
------

[](#set-up)

### Get the code

[](#get-the-code)

Add this to your composer.json file:

```
"adrexia/staticsearch": "dev-master"

```

Update your repo:

```
composer update

```

### Integration

[](#integration)

Add the search form to your page:

```

```

Include StaticSearchRequirements in the **head** of your page.

```

```

If you like, copy *StaticSearchRequirements.ss* to your theme, and override with any customized files. These files are only needed for the search page itself. Read the Tipue docs if you experience any issues with the search itself. It can be a bit particular about its set up.

```
http://www.tipue.com/search/docs/

```

If you want to make the searchpage fit your site design, copy *SearchPage.ss* to your theme folder. There is base css provided in *staticsearch/css/tipuesearch.css*. You can use this as is, or replace with your own css.

### Customization of results

[](#customization-of-results)

Methods generating the data for the json files live in *staticsearch/code/extensions/StaticSearchSiteTreeExtension.php*. You can override these methods at Page level (e.g. in Page.php). You may wish to have a smaller range of data appear, or you might want to index data objects as content on a page.

These methods can be overridden at Page level. It is suggested that if you are working with larger statically published sites, you use the tagging system (see *getSearchableTags()*) as the main search mechanism, and limit the content block to a simple abstract.

### Generate results

[](#generate-results)

Run the *BuildStaticSearchIndexTask* to generate the search\_index.json files (note, the static publish queue tasks must have been run at least once to generate the cache itself).

```
dev/tasks/BuildStaticSearchIndexTask

```

You probably want to set this task up to run once a day on your live site to update the search index.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4007d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/984753?v=4)[Naomi Guyer](/maintainers/adrexia)[@adrexia](https://github.com/adrexia)

---

Top Contributors

[![adrexia](https://avatars.githubusercontent.com/u/984753?v=4)](https://github.com/adrexia "adrexia (1 commits)")

---

Tags

searchjavascriptsilverstripestatic

### Embed Badge

![Health badge](/badges/adrexia-staticsearch/health.svg)

```
[![Health](https://phpackages.com/badges/adrexia-staticsearch/health.svg)](https://phpackages.com/packages/adrexia-staticsearch)
```

###  Alternatives

[silverstripe/solr

Solr integration for SilverStripe. Note that this is NOT related to the silverstripe/fulltext package.

1914.0k](/packages/silverstripe-solr)[g4b0/searchable-dataobjects

This module adds DataObjects to frontend search

254.9k](/packages/g4b0-searchable-dataobjects)[silverstripe-terraformers/gridfield-rich-filter-header

Rich filter header component for GridField

1325.7k1](/packages/silverstripe-terraformers-gridfield-rich-filter-header)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
