- PHP Client: other versions:
- Overview
- Quickstart
- Installation
- Configuration
- Inline Host Configuration
- Extended Host Configuration
- Authorization and Encryption
- Set retries
- Enabling the Logger
- Configure the HTTP Handler
- Setting the Connection Pool
- Setting the Connection Selector
- Setting the Serializer
- Setting a custom ConnectionFactory
- Set the Endpoint closure
- Building the client from a configuration hash
- Per-request configuration
- Future Mode
- Dealing with JSON Arrays and Objects in PHP
- Index Management Operations
- Indexing Documents
- Getting Documents
- Updating Documents
- Deleting documents
- Search Operations
- Namespaces
- Security
- Connection Pool
- Selectors
- Serializers
- PHP Version Requirement
- Breaking changes from 5.x
- Community DSLs
- Community Integrations
- Reference - Endpoints
- Elasticsearch\Client
- Elasticsearch\ClientBuilder
- Elasticsearch\Namespaces\CatNamespace
- Elasticsearch\Namespaces\ClusterNamespace
- Elasticsearch\Namespaces\IndicesNamespace
- Elasticsearch\Namespaces\IngestNamespace
- Elasticsearch\Namespaces\NodesNamespace
- Elasticsearch\Namespaces\RemoteNamespace
- Elasticsearch\Namespaces\SnapshotNamespace
- Elasticsearch\Namespaces\TasksNamespace
IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Setting the Serializer
editSetting the Serializer
editRequests are given to the client in the form of associative arrays, but Elasticsearch expects JSON. The Serializer’s job is to serialize PHP objects into JSON. It also de-serializes JSON back into PHP arrays. This seems trivial, but there are a few edgecases which make it useful for the serializer to remain modular.
The majority of people will never need to change the default serializer (SmartSerializer
), but if you need to,
it can be done via the setSerializer()
method:
$serializer = '\Elasticsearch\Serializers\SmartSerializer'; $client = ClientBuilder::create() ->setSerializer($serializer) ->build();
For more details, please see the dedicated page on configuring serializers.
Was this helpful?
Thank you for your feedback.