PHPackages                             open-dxp/advanced-object-search-bundle - 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. open-dxp/advanced-object-search-bundle

ActiveOpendxp-bundle[Search &amp; Filtering](/categories/search)

open-dxp/advanced-object-search-bundle
======================================

v1.0.0(5mo ago)09GPL-3.0+PHPPHP ~8.3.0 || ~8.4.0CI failing

Since Dec 5Pushed 3mo agoCompare

[ Source](https://github.com/open-dxp/advanced-object-search-bundle)[ Packagist](https://packagist.org/packages/open-dxp/advanced-object-search-bundle)[ RSS](/packages/open-dxp-advanced-object-search-bundle/feed)WikiDiscussions 1.x Synced 1mo ago

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

OpenDXP Advanced Object Search via OpenSearch or Elasticsearch
==============================================================

[](#opendxp-advanced-object-search-via-opensearch-or-elasticsearch)

Advanced Object Search bundle provides advanced object search in OpenDXP backend powered by search index technology (OpenSearch or Elasticsearch).

---

Disclaimer
----------

[](#disclaimer)

> OpenDXP is a community-driven fork based on the Pimcore® Community Edition (GPLv3).
> OpenDXP is independent and maintained by its community and contributors. It is not affiliated with, endorsed by, or sponsored by Pimcore GmbH.
> Original credits: [Pimcore GmbH](https://www.pimcore.com)

**OpenDXP Admin Bundle is based on the Pimcore® Community Edition and remains licensed under GPLv3.**

---

Integration into OpenDXP
------------------------

[](#integration-into-opendxp)

### Installation and Configuration

[](#installation-and-configuration)

Follow [Installation instructions](./doc/00_Installation.md).

#### Configure Search Client

[](#configure-search-client)

Setup search client configuration in your Symfony configuration files (e.g. `config.yaml`). See [OpenSearch Client Setup](./doc/04_Opensearch.md) or [Elasticsearch Client Setup](./doc/05_Elasticsearch.md) for more information.

#### Configure Advanced Object Search

[](#configure-advanced-object-search)

Before starting, setup at least following configuration in symfony configuration tree:

```
opendxp_advanced_object_search:
    # Prefix for index names
    index_name_prefix: 'advanced_object_search_'
```

For further configuration options follow the docs and the inline description of the configuration tree.

#### Initial Indexing

[](#initial-indexing)

Call OpenDXP command `advanced-object-search:update-mapping` for creating mappings and `advanced-object-search:re-index`for indexing data for the first time.

### GUI

[](#gui)

GUI for creating searches against search index with

- saving functionality
- sharing functionality

[![Screen](./doc/img/screen.jpg)](./doc/img/screen.jpg)

### Plugin Hooks

[](#plugin-hooks)

Following event listeners are called automatically

- `opendxp.dataobject.postUpdate` - data object is updated in search index, all child objects are added to update queue.
- `opendxp.dataobject.preDelete` - data object is deleted from search index.
- `opendxp.class.postUpdate` - search index mapping is updated or index recreated if necessary.

### OpenDXP Console

[](#opendxp-console)

Functions in OpenDXP console.

- `advanced-object-search:process-update-queue` --&gt; processes whole update queue of search index.
- `advanced-object-search:re-index` --&gt; Reindex all data objects of given class. Does not delete index first or resets update queue.
- `advanced-object-search:update-mapping` --&gt; Deletes and recreates mapping of given classes. Resets update queue for given class.

For details see documentation directly in OpenDXP console.

### OpenDXP Maintenance &amp; Symfony Messenger

[](#opendxp-maintenance--symfony-messenger)

By default, with every OpenDXP maintenance call, 500 entries of update queue are processed. As an alternative, you also can activate symfony messenger to process the update queue. For that, just activate it as follows.

```
 opendxp_advanced_object_search:
    messenger_queue_processing:
        activated: true
```

If activated, the processing is kicked off automatically with the `advancedobjectsearch_update_queue` maintenance task.

Messages are dispatched via `opendxp_index_queues` transport. So make sure, you have workers processing this transport when activating the messenger based queue processing.

API Methods
-----------

[](#api-methods)

### Create Mapping for data object classes

[](#create-mapping-for-data-object-classes)

Per data object class one index with one document type is created.

```
