Download the PHP package pimcore/advanced-object-search without Composer
On this page you can find all versions of the php package pimcore/advanced-object-search. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package advanced-object-search
title: Advanced Object Search
Pimcore Advanced Object Search via OpenSearch
Advanced Object Search bundle provides advanced object search in Pimcore backend powered by OpenSearch.
Integration into Pimcore
Installation and Configuration
Follow Installation instructions.
Configure OpenSearch Client
OpenSearch client configuration takes place via Pimcore OpenSearch Client Bundle and has two parts. 1) Configuring an OpenSearch client. 2) Define the client to be used by advanced object search.
If nothing is configured, a default client connecting to localhost:9200
is used.
Configure Advanced Object Search
Before starting, setup at least following configuration in symfony configuration tree:
For further configuration options follow the docs and the inline description of the configuration tree.
Initial Indexing
Call Pimcore command advanced-object-search:update-mapping
for creating mappings and advanced-object-search:re-index
for indexing data for the first time.
GUI
GUI for creating searches against search index with
- saving functionality
- sharing functionality
Plugin Hooks
Following event listeners are called automatically
pimcore.dataobject.postUpdate
- data object is updated in search index, all child objects are added to update queue.pimcore.dataobject.preDelete
- data object is deleted from search index.pimcore.class.postUpdate
- search index mapping is updated or index recreated if necessary.
Pimcore Console
Functions in Pimcore console.
advanced-object-search:process-update-queue
--> processes whole update queue of es search index.advanced-object-search:re-index
--> Reindex all data objects of given class. Does not delete index first or resets update queue.advanced-object-search:update-mapping
--> Deletes and recreates mapping of given classes. Resets update queue for given class.
For details see documentation directly in Pimcore console.
Pimcore Maintenance & Symfony Messenger
By default, with every Pimcore 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.
If activated, the processing is kicked off automatically with the advancedobjectsearch_update_queue
maintenance task.
Messages are dispatched via pimcore_index_queues
transport. So make sure, you have
workers processing this transport when activating the messenger based queue processing.
API Methods
Create Mapping for data object classes
Per data object class one index with one document type is created.
Update index data
On data object save or via script:
Search/Filter for data
Not Supported Data Types
Currently following data types are not supported - but can be added if needed in future versions:
- ClassificationStore
- Slider
- Password
- Block
- Table
- StructuredTable
- Geographic data types
- Image data types
Integrate new Data Type
- Implement Field Definition Adapter by implementing the
IFieldDefinitionAdapter
interface. - Register new Field Definition Adapter as service
- Add mapping in configuration like
Extend Filters in the Result Tab
If you want custom filters in the result tab directly without having to create a new advanced object search every time read here on how to extend the result tab with custom filters.
All versions of advanced-object-search with dependencies
pimcore/opensearch-client Version ^1.0.0
pimcore/pimcore Version ^11.1
symfony/config Version ^6.2
symfony/console Version ^6.2
symfony/dependency-injection Version ^6.2
symfony/event-dispatcher Version ^6.2
symfony/http-foundation Version ^6.2
symfony/http-kernel Version ^6.2
symfony/messenger Version ^6.2
symfony/routing Version ^6.2