bigoen / azure-search
Azure search api for php applications.
Installs: 90
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:php
Requires
- php: >=8.2
- ext-json: *
- symfony/http-client: ^6.0
This package is auto-updated.
Last update: 2025-04-09 01:04:07 UTC
README
Install:
composer require bigoen/azure-search
Create Azure Service
use Bigoen\AzureSearch\Model\Error; use Bigoen\AzureSearch\Model\Field; use Bigoen\AzureSearch\Model\Index; use Bigoen\AzureSearch\Model\Suggester; use Bigoen\AzureSearch\Services\Service; use Symfony\Component\HttpClient\HttpClient; $azureService = new Service('endpoint', 'key', 'version', HttpClient::create());
Create Index
$index = new Index('demo'); $index ->addField(new Field('id', Field::TYPE_STRING, true)) ->addField(new Field('groupId', Field::TYPE_STRING)) ->addField(new Field('title', Field::TYPE_STRING)) ->addField(new Field('body', Field::TYPE_STRING)) ->addSuggester(new Suggester('livesearch', ['title', 'body'])); $response = $azureService->createIndex($index); if ($response instanceof Error) { // show error message. }
Update Index
$index = $azureService->getIndex('demo'); foreach ($index->fields as $field) { $field->sortable = false; } $response = $azureService->updateIndex($index); if ($response instanceof Error) { // show error message. }
Delete Index
$isDeleted = $azureService->deleteIndex('demo'); if ($isDeleted) { // show success message. }
Add Docs/Doc to Index
$azureService->addDocToIndex($parameters['indexName'], new DocInput([ 'id' => '1', 'groupId' => 'group1', 'title' => 'Demo title', 'body' => 'Demo body', ])); // or multiple. $azureService->addDocsToIndex($parameters['indexName'], [ new DocInput([ 'id' => '1', 'groupId' => 'group1', 'title' => 'Demo title', 'body' => 'Demo body', ], Index::ACTION_MERGE_OR_UPLOAD), new DocInput([ 'id' => '2', 'groupId' => 'group1', 'title' => 'Demo title 2', 'body' => 'Demo body 2', ], Index::ACTION_DELETE), ]);