PHPackages                             silverstripe/silverstripe-search-service-elastic - 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. silverstripe/silverstripe-search-service-elastic

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

silverstripe/silverstripe-search-service-elastic
================================================

Provide Elastic Enterprise Search Functionality to Silverstripe Search Service

1.1.0(1y ago)012.4k↓38.9%6[1 issues](https://github.com/silverstripe/silverstripe-search-service-elastic/issues)BSD-3-ClausePHPPHP ^8.1CI passing

Since Mar 6Pushed 11mo ago6 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-search-service-elastic)[ Packagist](https://packagist.org/packages/silverstripe/silverstripe-search-service-elastic)[ RSS](/packages/silverstripe-silverstripe-search-service-elastic/feed)WikiDiscussions 1 Synced 1mo ago

READMEChangelog (5)Dependencies (7)Versions (7)Used By (0)

Silverstripe Search Service &gt; Elastic
========================================

[](#silverstripe-search-service--elastic)

Elastic Service provider for [Silverstripe Search Service](https://github.com/silverstripe/silverstripe-search-service).

This module uses Elastic's [Enterprise Search PHP library](https://github.com/elastic/enterprise-search-php) to provide the ability to index content for an Elastic App Search engine. This module **does not** provide any method for performing searches on your engines - we've added some [suggestions](#searching) though.

Requirements
------------

[](#requirements)

- php: ^8.1
- silverstripe/framework: ^5
- silverstripe/silverstripe-search-service: ^3
- elastic/enterprise-search: ^8.3
- guzzlehttp/guzzle: ^7

Installation
------------

[](#installation)

`composer require silverstripe/silverstripe-search-service-elastic`

Activating EnterpriseSearch
---------------------------

[](#activating-enterprisesearch)

To start using EnterpriseSearch, define environment variables containing your private API key, endpoint, and prefix.

```
ENTERPRISE_SEARCH_ENDPOINT="https://abc123.app-search.ap-southeast-2.aws.found.io"
ENTERPRISE_SEARCH_API_KEY="private-abc123"
ENTERPRISE_SEARCH_ENGINE_PREFIX="value-excluding-index-name"
SEARCH_DASHBOARD_URL="https://abc123.app-search.kb-southeast-2.aws.found.io"

```

Elastic enterprise search dashboard URL(`SEARCH_DASHBOARD_URL`). If this matches the `ENTERPRISE_SEARCH_ENDPOINT`, there's no need to define it. It will automatically fall back to the value of the `ENTERPRISE_SEARCH_ENDPOINT` environment variable.

Configuring EnterpriseSearch
----------------------------

[](#configuring-enterprisesearch)

The most notable configuration surface for EnterpriseSearch is the schema, which determines how data is stored in your EnterpriseSearch index (engine). There are four types of data in EnterpriseSearch:

- `text` (default)
- `date`
- `number`
- `geolocation`

You can specify these data types in the `options` node of your fields.

```
SilverStripe\SearchService\Service\IndexConfiguration:
  indexes:
    myindex:
      includeClasses:
        SilverStripe\CMS\Model\SiteTree:
          fields:
            title: true
            summary_field:
              property: SummaryField
              options:
                type: text
```

**Note**: Be careful about whimsically changing your schema. EnterpriseSearch may need to be fully reindexed if you change the data type of a field.

Additional documentation
------------------------

[](#additional-documentation)

Majority of documentation is provided by the Silverstripe Search Service module. A couple in particular that might be useful to you are:

- [Configuration](https://github.com/silverstripe/silverstripe-search-service/blob/2/docs/en/configuration.md)
- [Customisation](https://github.com/silverstripe/silverstripe-search-service/blob/2/docs/en/customising.md)

Searching
---------

[](#searching)

Elastic themselves provide a headless [Search UI](https://docs.elastic.co/search-ui/overview) JS library, which can be used with vanilla JS or any framework like React, Vue, etc.

There are two main libraries:

- [@elastic/search-ui-app-search-connector](https://www.npmjs.com/package/@elastic/search-ui-app-search-connector)
    - Provides a class to help you connect to your Elastic App Search API.
- [@elastic/search-ui](https://www.npmjs.com/package/@elastic/search-ui)
    - Provides a class that allows you to perform searches and manage your search state.

If you are using React, then there is also [@elastic/react-search-ui](https://www.npmjs.com/package/@elastic/react-search-ui), which provides interface components.

If you are not using React, then the creation of the view will be up to you.

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance43

Moderate activity, may be stable

Popularity28

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 54.5% 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

Every ~166 days

Recently: every ~208 days

Total

6

Last Release

337d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b0cba8b534e20e6ab4fff555a97b237a18436ebca1446fc0b29c8a8b504038b9?d=identicon)[GuySartorelli](/maintainers/GuySartorelli)

---

Top Contributors

[![chrispenny](https://avatars.githubusercontent.com/u/505788?v=4)](https://github.com/chrispenny "chrispenny (6 commits)")[![ishannz](https://avatars.githubusercontent.com/u/20032948?v=4)](https://github.com/ishannz "ishannz (2 commits)")[![blueo](https://avatars.githubusercontent.com/u/948122?v=4)](https://github.com/blueo "blueo (1 commits)")[![lukereative](https://avatars.githubusercontent.com/u/1415622?v=4)](https://github.com/lukereative "lukereative (1 commits)")[![michalkleiner](https://avatars.githubusercontent.com/u/233342?v=4)](https://github.com/michalkleiner "michalkleiner (1 commits)")

### Embed Badge

![Health badge](/badges/silverstripe-silverstripe-search-service-elastic/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-silverstripe-search-service-elastic/health.svg)](https://phpackages.com/packages/silverstripe-silverstripe-search-service-elastic)
```

###  Alternatives

[algolia/algoliasearch-magento-2

Algolia Search &amp; Discovery extension for Magento 2

1881.8M16](/packages/algolia-algoliasearch-magento-2)[statamic-rad-pack/meilisearch

meilisearch search driver for Statamic

1661.7k](/packages/statamic-rad-pack-meilisearch)

PHPackages © 2026

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