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
.
login | Votre code d'identification. |
---|---|
password | Votre mot de passe. |
Vous pouvez tester cette fonction dans l'interface de votre espace personnel.
Une recherche de proximité liste les documents similaires à un document de référence et des termes en commun.
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
.
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 :
- require_once 'sendhttp.php';
Charge le code de la fonction sendget
.
- 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.
- $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.
- $response=sendget($curl);
Envoie la requête HTTP avec sendget
.
Les arguments $id
, login
et password
sont déjà dans $curl
.
- if (!$response or $response[0] != 200) {
- return false;
- }
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.
- $r=json_decode($response[2], true);
Décode les données retournées en JSON.
- if ($r['status'] == 'success') {
- return ($r['data']);
- }
Retourne le résultat de la recherche si l'action a réussi.
- return false;
- }
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.