bigoen / azure-search
Azure 搜索 API,适用于 PHP 应用程序。
v1.0.1
2023-09-08 21:26 UTC
Requires
- php: >=8.2
- ext-json: *
- symfony/http-client: ^6.0
This package is auto-updated.
Last update: 2024-09-08 23:38:10 UTC
README
安装
composer require bigoen/azure-search
创建 Azure 服务
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());
创建索引
$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. }
更新索引
$index = $azureService->getIndex('demo'); foreach ($index->fields as $field) { $field->sortable = false; } $response = $azureService->updateIndex($index); if ($response instanceof Error) { // show error message. }
删除索引
$isDeleted = $azureService->deleteIndex('demo'); if ($isDeleted) { // show success message. }
添加文档/文档到索引
$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), ]);