18

Reliez un document

relatefile

GET https://bezillion.com/api/v1/relatefile/id?login=&password=

id est l'identifiant unique d'un fichier dans votre index, e.g. 12345678-9abc-def0-1234-56789abcdef0.

loginVotre code d'identification.
passwordVotre mot de passe.

Vous pouvez tester cette fonction dans l'interface de votre espace personnel.

Recherche

 q

 fq

2022-11-28 02:00 30,9k en fox.jpg
overfoxdogbrownjumpslazyquick

 1 • 

2022-11-28 02:00 45 en fox.txt

Une recherche de proximité liste les documents similaires à un document de référence et des termes en commun.

The quick brown fox
jumps over
the lazy dog.

Indexez le fichier :

$ curl -s --fail --show-error -X POST "https://bezillion.com/api/v1/indexfile?login=abcdef&password=ABCDEF" -F "file=@fox.txt" -o -
{"status":"success","data":null}

Recherchez le fichier fox.txt :

$ curl -s --fail --show-error -X GET "https://bezillion.com/api/v1/searchindex?login=abcdef&password=ABCDEF&fq=file:fox.txt"
{"status":"success","data":{"count":1,"docs":[{"date":1669597200,"file":"fox.txt","size":45,"id":"12345678-9abc-def0-1234-56789abcdef0","lang":"en","from":"local","extra":"","stored":true,"score":1,"hl":false}]}}

Notez l'identifiant du fichier retourné dans le champ id : 12345678-9abc-def0-1234-56789abcdef0.

fox.jpg

Indexez le fichier :

$ curl -s --fail --show-error -X POST "https://bezillion.com/api/v1/indexfile?login=abcdef&password=ABCDEF" -F "lang=eng" -F "psm=6" -F "file=@fox.jpg" -o -
{"status":"success","data":null}

Recherchez le fichier fox.jpg :

$ curl -s --fail --show-error -X GET "https://bezillion.com/api/v1/searchindex?login=abcdef&password=ABCDEF&fq=file:fox.jpg"
{"status":"success","data":{"count":1,"docs":[{"date":1669597200,"file":"fox.jpg","size":30917,"id":"75efc8d3-5f88-4902-81eb-1c33dfa7a385","lang":"en","from":"local","extra":"","stored":true,"score":1,"hl":false}]}}

Recherchez les fichiers similaires au fichier fox.txt :

$ curl -s --fail --show-error -X GET "https://bezillion.com/api/v1/relatefile/12345678-9abc-def0-1234-56789abcdef0?login=abcdef&password=ABCDEF"
{"status":"success","data":{"count":1,"docs":[{"id":"75efc8d3-5f88-4902-81eb-1c33dfa7a385","lang":"en","from":"local","score":1.1002516}]}}

NOTE : Si une recherche ne retourne rien, le champ data vaut null 

{"status":"success","data":null}

Téléchargez le code de la fonction sendget de la librairie iZend. Copiez le fichier dans l'espace de votre application.

NOTE : Reportez-vous à la page Appelez l'API du service pour une description de la fonction sendget.

Ajoutez le fichier relatefile.php avec le contenu suivant :

  1. require_once 'sendhttp.php';

Charge le code de la fonction sendget.

  1. function relatefile($login, $password, $id) {

Définit la fonction relatefile.php. $login est votre code d'identification. $password est votre mot de passe. $id est l'identifiant unique d'un fichier dans votre index.

  1.     $curl = 'https://local.bezillion.com/api/v1/relatefile/' . $id . '?' . 'login=' . urlencode($login) . '&' . 'password=' . urlencode($password);

Met $curl à l'URL de l'action relatefile de l'API avec l'identifiant du fichier, le code d'identification et le mot de passe du compte de l'utilisateur. $filename , $login et $password doivent être échappés.

  1.     $response=sendget($curl);

Envoie la requête HTTP avec sendget. Les arguments $id, login et password sont déjà dans $curl.

  1.     if (!$response or $response[0] != 200) {
  2.         return false;
  3.     }

Si $response vaut false, le serveur est inaccessible. Si $response[0] ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite. En cas d'erreur, relatefile retourne false.

  1.     $r=json_decode($response[2], true);

Décode les données retournées en JSON.

  1.     if ($r['status'] == 'success') {
  2.         return ($r['data']);
  3.     }

Retourne le résultat de la recherche si l'action a réussi.

  1.     return false;
  2. }

Retourne false en cas d'erreur.

EXEMPLE

En supposant que vous avez sauvé les fichiers sendhttp.php et relatefile.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction relatefile et appelez-la avec en arguments votre code d'identification et votre mot de passe, l'identifiant du fichier fox.txt dans votre index :

$ php -a
php > require_once 'relatefile.php';
php > $r=relatefile('abcdef', 'ABCDEF', '12345678-9abc-def0-1234-56789abcdef0');
php > $print_r($r);
Array
(
    [count] => 1
    [docs] => Array
        (
            [0] => Array
                (
                    [file] => fox.jpg
                    [size] => 30917
                    [extra] => 
                    [id] => 75efc8d3-5f88-4902-81eb-1c33dfa7a385
                    [date] => 1669597200
                    [from] => local
                    [lang] => en
                    [score] => 1.1002516
                )
        )
)
php > quit

NOTE : Si relatefile retourne false, éditez le code pour afficher $response.

VOIR AUSSI

Appelez l'API du service, Indexez un document, Recherchez un document, Désindexez un document

Commentaires

Pour ajouter un commentaire, cliquez ici.