thelhc / cloud-search-query
An ORM-like wrapper for building AWS CloudSearch structured queries
Installs: 11 942
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 1
Open Issues: 0
Requires
- php: ~5.6|~7.0|~7.1|~7.2|~7.3
- aws/aws-sdk-php: ^3.19
- illuminate/database: 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.*
- illuminate/support: 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.*
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^5.4 || ~6.0
- vlucas/phpdotenv: ^2.4
This package is not auto-updated.
Last update: 2024-11-19 14:46:04 UTC
README
An ORM-like wrapper for building AWS CloudSearch structured queries
Installation
CloudSearchQuery is currently a repository package only. In composer.json
add:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/aaronkaz/cloud-search-query.git"
}
],
"require": {
"aaron-kaz/cloud-search-query": "dev-master"
},
Basic Usage
Initialize a query object with a valid CloudSearch full URI endpoint
$query = new CloudSearchQuery([
'endpoint' => 'http://search-yourdomain.us-east-1.cloudsearch.amazonaws.com'
]);
You can chain query methods like so
$query->phrase('ford')
->term('National Equipment', 'seller')
->range('year', '1987');
use the get()
method to submit query and retrieve results from AWS. Use property accessors on the returned results object.
$results = $query->get();
$matchedDocuments = $results->hits;
Search Query Operators and Nested Queries
You can use the and
, or
, and not
operators to build compound and nested queries.
The corresponding and()
, or()
, and not()
methods expect a closure as their argument.
You can chain all available methods as well nest more subqueries inside of closures.
$query->or(function($builder) {
$builder->phrase('ford')
->phrase('truck');
})