subvitaminetm / akkurate-for-search-sdk-php
Akkurate For Search 的 PHP SDK
v1.0.0
2020-11-23 11:30 UTC
Requires
- php: ^7.3
- guzzlehttp/guzzle: ^6.3 || ^7.0.1
- myclabs/php-enum: ^1.7
- nilportugues/api-problems: ^1.2
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-23 19:57:19 UTC
README
摘要
- 安装
- 使用
- 创建建议内容
- 创建可点击内容
- 更新内容
- 删除内容
- 版权
安装
要安装库,请使用 Composer。将这些指令添加到您的 composer.json
文件中
composer require subvitaminetm/akkurate-for-search-sdk-php
使用
使用您的 API 密钥初始化库
$akk4search = new \Akkurate4Search\Content('your_api_key');
创建建议内容
建议内容是一种父内容。它将在搜索结果中显示,但不会打开任何文档。它将显示为建议。如果用户点击它,则显示此内容的子文档(可点击)。
返回创建的内容
$content = $akk4search->post([
"name" => "Subvitamine",
"docType" => \Akkurate4Search\ContentType::COMPANY,
"alias" => [
"ALIAS_1",
"ALIAS_2",
"ALIAS_3"
],
"suggest" => true,
"entities" => [],
"content" => [],
"links" => [],
"access" => [
'UUID_OF_USER_1',
'UUID_OF_USER_2'
],
"environments" => [
\Akkurate4Search\Environment::BACK,
\Akkurate4Search\Environment::FRONT
]
]);
创建可点击内容
可点击内容是一种子内容。它将在搜索结果中显示,并在用户点击时打开您定义的链接。
返回创建的内容
$content = $akk4search->post([
"name" => "Invoice April 2020",
"docType" => \Akkurate4Search\ContentType::INVOICE,
"alias" => [
"ALIAS#1",
"ALIAS#2"
],
"suggest" => false,
"entities" => [
[
"uuid" => "uuid_of_akk4search_parent_suggestable_content",
"name" => "name_of_akk4search_parent_suggestable_content"
]
],
"content" => [
"string_of_content_1",
"string_of_content_2",
"string_of_content_3"
],
"links" => [
[
"url" => "https://brain.subvitamine.com/{var1}/{var2}/{var3}",
"target" => \Akkurate4Search\TargetLink::SELF,
"environment" => \Akkurate4Search\Environment::BACK
],
[
"url" => "https://www.subvitamine.com/blog/{var1}",
"target" => \Akkurate4Search\TargetLink::BLANK,
"environment" => \Akkurate4Search\Environment::FRONT
]
],
"access" => [
'UUID_OF_USER_1',
'UUID_OF_USER_2'
],
"environments" => [
\Akkurate4Search\Environment::FRONT,
\Akkurate4Search\Environment::BACK
]
]);
内容参数
名称 | 描述 | 类型 | 必需 |
---|---|---|---|
name | 文档名称 | 字符串 | 是 |
docType | 内容类型 | ContentType | 是 |
alias | 允许将文档提升到搜索结果的标签数组(例如:首字母缩写,类别...) | 数组(字符串) | 否 |
suggest | 允许定义内容是否出现在建议或搜索结果中 | 布尔值 | 是 |
entities | 允许将内容关联到父文档 | 数组 | 否 |
content | 文档的文本格式内容 | 数组 | 否 |
links | 当用户点击结果时将打开的链接 | 数组 | 否 |
access | 有权访问资源的 UUID 列表 | 数组 | 否 |
environments | 允许定义显示环境 | 数组(环境) | 否 |
更新内容
允许更新内容
返回更新的内容
$content = $akk4search->put('uuid_of_akk4search_content', $content);
搜索
允许搜索内容
用于搜索所有类型的“可建议或不可建议”的内容
// recherche classique
$content = $akk4search->search(
$environment,
$searchword
);
// recherche en ajoutant des restrictions d'accès
$content = $akk4search->search(
$environment,
$searchword,
null,
[
$userUUID1,
$userUUID2
],
[
"pagination" => true, // defini si on souhaites utiliser la pagination
"from" => 0, // équivalent du OFFSET de mysql
"limit" => 10 // équivalent du LIMIT de mysql
]
);
用于搜索“不可建议”的内容
// recherche classique
$content = $akk4search->search(
$environment,
null,
$entityUUID
);
// recherche en ajoutant des restrictions d'accès
$content = $akk4search->search(
$environment,
null,
$entityUUID,
[
$userUUID1,
$userUUID2
]
);
// recherche en ajoutant des restrictions d'accès et pagination
$content = $akk4search->search(
$environment,
null,
$entityUUID,
[
$userUUID1,
$userUUID2
],
[
"pagination" => true,
"from" => 5,
"limit" => 2
]
);
返回包含三个属性的数组。
[
'suggestions' => [], // tableau contenant la liste des contenus "suggestables" trouvés
'results' => [], // tableau contenant la liste des contenus "non-suggestables" trouvés
'options' => [ // si la pagination est utilisée, réutilisez le tableau d'options retourné pour obtenir les résultats de la page suivante
'pagination' => true | false
'from" => 0 | ??,
'limit' => 10 | ??
]
]
重要
如果您使用 VueJs component for Akkurate for search,您必须使用此搜索功能,并且必须 绝对 以 JSON 格式返回结果。以下是一个示例
$results = $akk4search->search($environment, $searchword);
ou
$results = $akk4search->search($environment, null, $entityUUID);
// return
echo json_encode($results);
或者
echo json_encode($results);
删除内容
允许删除内容
在成功的情况下返回 true(布尔值)
$akk4search->delete('uuid_of_akk4search_content');
删除所有内容
允许一次性删除所有内容
在成功的情况下返回 true(布尔值)
// supprimer tous vos contenus
$akk4search->deleteAll();
or
// supprimer tous vos contenus de type "DOCUMENT"
$akk4search->deleteAll(Akkurate4Search\ContentType::DOCUMENT);
版权
本库受版权保护 © Subvitamine