PHP code example of ankane / ngt
1. Go to this page and download the library: Download ankane/ngt library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ankane / ngt example snippets
$objects = [
[1, 1, 2, 1],
[5, 4, 6, 5],
[1, 2, 1, 2]
];
$index = new Ngt\Index($dimensions);
$index->batchInsert($objects);
$index->search($query, size: 3);
$index->save($path);
$index = Ngt\Index::load($path);
$index->object($id);
$index->insert($object);
$index->remove($id);
$index->buildIndex();
$dim = 10;
$objects = [];
for ($i = 0; $i < 100; $i++) {
$object = [];
for ($j = 0; $j < $dim; $j++) {
$object[] = rand(0, 100);
}
$objects[] = $object;
}
$index = new Ngt\Index($dim);
$index->batchInsert($objects);
$query = $objects[0];
$result = $index->search($query, size: 3);
foreach ($result as $res) {
print($res['id'] . ', ' . $res['distance'] . "\n");
}
use Ngt\DistanceType;
use Ngt\ObjectType;
new Ngt\Index(
$dimensions,
edgeSizeForCreation: 10,
edgeSizeForSearch: 40,
distanceType: DistanceType::L2, // L1, L2, Hamming, Angle, Cosine, NormalizedAngle, NormalizedCosine, Jaccard
objectType: ObjectType::Float // Float, Float16, Integer
);
sh
git clone https://github.com/ankane/ngt-php.git
cd ngt-php
composer install
composer test