PHPackages                             arckinteractive/elgg\_solr - 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. arckinteractive/elgg\_solr

ActiveElgg-plugin[Search &amp; Filtering](/categories/search)

arckinteractive/elgg\_solr
==========================

Basic solr integration to replace elgg search

2.2.8(8y ago)64508[1 issues](https://github.com/arckinteractive/elgg_solr/issues)GPL-2.0-onlyPHPPHP &gt;=5.4

Since Apr 28Pushed 8y ago8 watchersCompare

[ Source](https://github.com/arckinteractive/elgg_solr)[ Packagist](https://packagist.org/packages/arckinteractive/elgg_solr)[ Docs](http://arckinteractive.com)[ RSS](/packages/arckinteractive-elgg-solr/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (4)Versions (36)Used By (0)

elgg\_solr
==========

[](#elgg_solr)

Speed up site search by using a dedicated Solr search index

- Search Entities
- Search tags (exact match)
- Search File contents

This plugin follows the structure of the default Elgg search plugin, can be extended using the same search plugin hooks.

Dependencies
------------

[](#dependencies)

- This plugin depends on the default elgg search plugin (bundled with Elgg)
- This plugin depends on the vroom plugin -

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

[](#installation)

1. Download the plugin and upload it to `/mod/elgg_solr`, or install with composer `composer require arckinteractive/elgg_solr:~2.0`
2. In Admin &gt; Plugins, reorder the `elgg_solr` plugin to be positioned under `search` plugin, and enable it
3. Create a new Solr instance and configure it:

    - Make sure that `//conf/solrconfig.xml` is set to use classic index schema: ``
    - Copy contents of `install/schema.xml` (or `install/schema.solr5.xml` for Solr 5+) included in the root of the plugin to `//conf/schema.xml`
        - Copy contents of `install/solrconfig.solr5.xml` to `//conf/solrconfig.xml if using solr 5
4. Update `elgg_solr` plugin settings to point to the new Solr instance
5. Trigger a reindex from the plugin setting page
6. Ensure that daily cron is configured and active

Plugin hooks
------------

[](#plugin-hooks)

**`search, `**

**`search, `**

**`search, :`**

These hooks can be used to modify search criteria

**`elgg_solr:index, `**

**`elgg_solr:index, :`**

**`elgg_solr:index, annotation`**

These hooks can be used to customize indexed fields

**`elgg_solr:can_index, annotation`**

Allows to add annotations to index by name

**`elgg_solr:access, entities`**

Allows plugins to add additional access queries.

Indexing
--------

[](#indexing)

### Tuning indexed values

[](#tuning-indexed-values)

Indexed values can be customized using `'elgg_solr:index','` hook:

```
elgg_register_plugin_hook_handler('elgg_solr:index', 'object', function($hook, $type, $return, $params) {

	$entity = elgg_extract('entity', $params);
	if (!$entity instanceof Event) {
		return;
	}

	$return->custom_field_s = $entity->custom_field;
	$return->start_time_i = $entity->start_time;
	return $return;
});
```

### Adding annotations to index

[](#adding-annotations-to-index)

To add an annotation to the index, add annotation name to the return of the `'elgg_solr:can_index','annotation'`:

```
elgg_register_plugin_hook_handler('elgg_solr:can_index', 'annotation', function($hook, $type, $return) {
	$return[] = 'revision';
	return $return;
});
```

Indexed values
--------------

[](#indexed-values)

### Entity

[](#entity)

- `id` - guid
- `type` - entity type
- `subtype` - entity subtype
- `owner_guid` - guid of the owner
- `container_guid` - guid of the container
- `access_id` - access level
- `title` - title
- `name` - name
- `description` - description
- `time_created` - timestamp of the creation
- `time_updated_i` - timestamp of the last update
- `enabled` - is entity enabled
- `tag__ss` - tags for registered tag metadata names
- `has_pic_b` - flag indicating that entity has an uploaded icon
- `responses_thread_i` - guid of the comment/reply thread root
- `responses_is` - guids of comments/replies
- `responses_count_i` - total count of comments/replies
- `likes_count_i` - total count of likes

### User

[](#user)

In addition to Entity fields:

- `username` - username
- `profile__s` - profile fields with a single value
- `profile__ss` - profile fields with multiple values (tags)
- `groups_is` - guids of groups a user is member of
- `groups_count_i` - total number of groups a user is a member of
- `friends_is` - guids of user's friends
- `friends_count_i` - total number of friends
- `last_login_i` - timestamp of the last login
- `last_action_i` - timestamp of the last activity
- `has_pic_b` - flag indicating that user has an avatar

### Group

[](#group)

In addition to Entity fields:

- `group__s` - profile fields with a single value
- `group__ss` - profile fields with multiple values (tags)
- `members_is` - guids of group members
- `members_count_i` - total number of group members

### File

[](#file)

To index file contents, enable extraction (`extract_handler`) in plugin settings.

In addition to Entity fields:

- `attr_content` - extracted contents
- `simpletype_s` - simple type (e.g. `image`, `document` etc)
- `mimetype_s` - detected mime type (e.g. `application/json`)
- `originalfilename_s` - original name of the uploaded file
- `filesize_i` - file size in bytes

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 84.2% 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 ~43 days

Recently: every ~15 days

Total

34

Last Release

3011d ago

Major Versions

1.10.1 → 2.0.02016-04-08

1.10.x-dev → 2.1.22016-09-10

1.11.0 → 2.2.82018-04-05

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/738363?v=4)[Matt Beckett](/maintainers/beck24)[@beck24](https://github.com/beck24)

---

Top Contributors

[![beck24](https://avatars.githubusercontent.com/u/738363?v=4)](https://github.com/beck24 "beck24 (171 commits)")[![hypeJunction](https://avatars.githubusercontent.com/u/1202761?v=4)](https://github.com/hypeJunction "hypeJunction (24 commits)")[![Wouter0100](https://avatars.githubusercontent.com/u/864520?v=4)](https://github.com/Wouter0100 "Wouter0100 (6 commits)")[![ewinslow](https://avatars.githubusercontent.com/u/356564?v=4)](https://github.com/ewinslow "ewinslow (1 commits)")[![JopKnoppers](https://avatars.githubusercontent.com/u/18568314?v=4)](https://github.com/JopKnoppers "JopKnoppers (1 commits)")

---

Tags

pluginsearchelggsolrscalability

### Embed Badge

![Health badge](/badges/arckinteractive-elgg-solr/health.svg)

```
[![Health](https://phpackages.com/badges/arckinteractive-elgg-solr/health.svg)](https://phpackages.com/packages/arckinteractive-elgg-solr)
```

###  Alternatives

[10up/elasticpress

Supercharge WordPress with Elasticsearch.

1.3k395.7k17](/packages/10up-elasticpress)[apache-solr-for-typo3/solr

Apache Solr for TYPO3 - Apache Solr for TYPO3 is the enterprise search server you were looking for with special features such as Faceted Search or Synonym Support and incredibly fast response times of results within milliseconds.

1493.2M48](/packages/apache-solr-for-typo3-solr)[nelmio/solarium-bundle

Integration with solarium solr client.

1503.2M16](/packages/nelmio-solarium-bundle)[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[floriansemm/solr-bundle

Symfony Solr integration bundle

12480.5k2](/packages/floriansemm-solr-bundle)

PHPackages © 2026

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