oramacloud / client
Orama Cloud SDK
v1.0.2
2024-07-19 18:09 UTC
Requires
- php: >=7.3
- guzzlehttp/guzzle: ^7.8
Requires (Dev)
- phpunit/phpunit: ^9.5
README
With the OramaCloud PHP Client SDK, you can perform search queries on your Orama index, or programmatically update your index data and trigger new deployments. Integrate Orama Cloud in your PHP application using the REST APIs to insert and upsert your index data and trigger deployments when it's convinient for your use case.
Install
composer require oramacloud/client
Compatibility
PHP: 7.3 or later
Integrating with Orama Cloud
use OramaCloud\Client; use OramaCloud\Client\Query; $client = new Client([ 'api_key' => '<Your Orama Cloud API Key>', 'endpoint' => '<Your Orama Cloud Endpoint>' ]); $query = (new Query('red shoes')) ->where('price', 'gt', 99.99); $results = $client->search($query);
Advanced search
use OramaCloud\Client; use OramaCloud\Client\Query; use OramaCloud\Client\QueryParams/WhereOperator; use OramaCloud\Client\QueryParams/SortByOrder; $client = new Client([ 'api_key' => '<Your Orama Cloud API Key>', 'endpoint' => '<Your Orama Cloud Endpoint>' ]); $query = new Query(); $query->term('red shoes') ->mode('hybrid') ->where('price', WhereOperator::LTE, 9.99) ->where('gender', WhereOperator::EQ, 'unisex') ->sortBy('price' SortByOrder::DESC) ->limit(5) ->offset(1); $results = $client->search($query);
Managing your index
use OramaCloud\Manager\IndexManager; $index = new IndexManager('<Your Index-ID>', '<Your Private API Key>'); // Empty data $index->empty(); // Insert records $index->insert([ ['id' => '1', 'name' => 'John Doe', 'age' => 20 ], ['id' => '2', 'name' => 'Mario Rossi', 'age' => 25 ], ['id' => '3', 'name' => 'John Smith', 'age' => 35 ], ]); // Update records $index->update([[ 'id' => '1', 'name' => 'Jane Doe', 'age' => 30 ]]); // Delete records $index->delete(['1', '2']); // Trigger deployment $index->deploy();
Run Tests
composer test
License
Apache-2.0 license. Please see License File for more information.