PHPackages                             os2web/os2web\_search - 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. os2web/os2web\_search

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

os2web/os2web\_search
=====================

Search functionality powered by SOLR

01.6kPHP

Since Nov 10Pushed 3mo ago7 watchersCompare

[ Source](https://github.com/OS2web/os2web_search)[ Packagist](https://packagist.org/packages/os2web/os2web_search)[ RSS](/packages/os2web-os2web-search/feed)WikiDiscussions master Synced 5d ago

READMEChangelogDependenciesVersions (5)Used By (0)

//TODO:

1. Can only be installed when EN and DA are present
2. required search\_api\_attachments
3. change index mode (search index)

OS2Web Search Drupal module [![Build Status](https://camo.githubusercontent.com/31579960355e8547881f302fe4514996fc417172fc4f5383f7c802594b7d56ca/68747470733a2f2f7472617669732d63692e6f72672f4f53327765622f6f73327765625f7365617263682e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/OS2web/os2web_nemlogin)
=========================================================================================================================================================================================================================================================================================================================

[](#os2web-search-drupal-module--)

Module purpose
--------------

[](#module-purpose)

The aim of this module is to provide search functionality powered by SOLR.

How does it work
----------------

[](#how-does-it-work)

After enabling search is available on the search page, as well as exposed form is added to 4 regions: **Megamenu - search**, **Header - search**, **Header - below** (front page only), **Content** (search page only).

Search page: `/s`

Install
-------

[](#install)

1. Create the SOLR core. [Read manual](https://git.drupalcode.org/project/search_api_solr#setting-up-solr-single-core).
2. Make sure you have both `english` and `danish` language in your installation `/admin/config/regional/language`.
3. Module is available to download via composer.

    ```
    composer require os2web/os2web_search
    drush en os2web_search

    ```
4. After activation finish the set up here: `admin/config/search/search-api/server/os2web_search_server/edit`

    The following fields need to be manually inserted:

    - Solr host
    - Solr core

Update
------

[](#update)

Updating process for OS2Web Nemlogin module is similar to usual Drupal 8 module. Use Composer's built-in command for listing packages that have updates available:

```
composer outdated os2web/os2web_search

```

Synonyms activation
-------------------

[](#synonyms-activation)

In order to use search synonyms for search those actions need to be done:

1. Enable synonyms module:

    ```
    drush en search_api_synonym

    ```
2. Add some synonyms: `admin/config/search/search-api-synonyms`
3. Make sure your cron is running
4. Copy the script `os2web_search/scripts/synonyms_deploy.sh.example` into any directory outside Drupal and execute it each time right after the cron.

    Script requires those variables to be set:

    - `synonymdir=[path to synonyms]`

        Full path to synonyms export folder location e.g. /var/www/os2web.dk/web/sites/default/files/synonyms/
    - `solrconfig=[path to SOLR core configuration]`

        Full path to SOLR core config folder e.g. /opt/solr/server/solr/sik/conf/
    - `[SOLR Core]`

        SOLR Core name

The script will work in the following way:

- It checks the synonyms export location
- If it has some files (matching the pattern), those files are moved to SOLR config location and renamed
- After that the SOLR core is reloaded so that synonyms are active

Module translation
------------------

[](#module-translation)

Module's main language is English but Danish language is fully supported.

When extending this module add your translations to the corresponding **\*.po** files located `modules/contrib/os2web_search/translations/` and run the following to update translations:

```
drush locale-check
drush locale-update && drush cr

```

Automated testing and code quality
----------------------------------

[](#automated-testing-and-code-quality)

See [OS2Web testing and CI information](https://github.com/OS2Web/docs#testing-and-ci)

Contribution
------------

[](#contribution)

Project is opened for new features and os course bugfixes. If you have any suggestion or you found a bug in project, you are very welcome to create an issue in github repository issue tracker. For issue description there is expected that you will provide clear and sufficient information about your feature request or bug report.

### Code review policy

[](#code-review-policy)

See [OS2Web code review policy](https://github.com/OS2Web/docs#code-review)

### Git name convention

[](#git-name-convention)

See [OS2Web git name convention](https://github.com/OS2Web/docs#git-guideline)

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance54

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

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

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/827308?v=4)[Jørn Skifter Andersen](/maintainers/skifter)[@skifter](https://github.com/skifter)

![](https://www.gravatar.com/avatar/62f8489b69aecc84322f8899d288c3ab41d3022532d49c849ae4ca10e20f4df7?d=identicon)[andriyun](/maintainers/andriyun)

![](https://www.gravatar.com/avatar/134c42b216718e3d28298bcec8772eeb309c8c94afff3462dac1245b06c06cc5?d=identicon)[stanbellcom](/maintainers/stanbellcom)

---

Top Contributors

[![stankut](https://avatars.githubusercontent.com/u/1537807?v=4)](https://github.com/stankut "stankut (21 commits)")[![juuliabellcom](https://avatars.githubusercontent.com/u/5367428?v=4)](https://github.com/juuliabellcom "juuliabellcom (5 commits)")[![andriyun](https://avatars.githubusercontent.com/u/5544994?v=4)](https://github.com/andriyun "andriyun (3 commits)")

### Embed Badge

![Health badge](/badges/os2web-os2web-search/health.svg)

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

###  Alternatives

[ruflin/elastica

Elasticsearch Client

2.3k50.4M203](/packages/ruflin-elastica)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15024.3M65](/packages/opensearch-project-opensearch-php)[mailerlite/laravel-elasticsearch

An easy way to use the official PHP ElasticSearch client in your Laravel applications.

934529.3k2](/packages/mailerlite-laravel-elasticsearch)[massive/search-bundle

Massive Search Bundle

721.4M13](/packages/massive-search-bundle)[shyim/opensearch-php-dsl

OpenSearch/Elasticsearch DSL library

175.9M9](/packages/shyim-opensearch-php-dsl)[outl1ne/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45802.7k3](/packages/outl1ne-nova-multiselect-filter)

PHPackages © 2026

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