subvitaminetm/akkurate-for-search-sdk-php

Akkurate For Search 的 PHP SDK

v1.0.0 2020-11-23 11:30 UTC

This package is auto-updated.

Last update: 2024-09-23 19:57:19 UTC


README

Source Code

摘要

  • 安装
  • 使用
    • 创建建议内容
    • 创建可点击内容
    • 更新内容
    • 删除内容
  • 版权

安装

要安装库,请使用 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