mirror of https://github.com/kcal-app/kcal.git
Use babenkoivan Elasticsearch ecosystem
This commit is contained in:
parent
7d3486e62e
commit
6dd6ae59c5
|
|
@ -15,5 +15,5 @@ QUEUE_CONNECTION=sync
|
|||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
|
||||
SCOUT_DRIVER=tntsearch
|
||||
TNTSEARCH_FUZZINESS=true
|
||||
SCOUT_DRIVER=elastic
|
||||
ELASTIC_HOST=localhost:9200
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -203,6 +208,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -384,6 +394,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -565,6 +580,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -746,6 +766,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -927,6 +952,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -1108,6 +1138,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -1289,6 +1324,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -1470,6 +1510,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -1651,6 +1696,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
@ -1832,6 +1882,11 @@ namespace PHPSTORM_META {
|
|||
'CloudCreativity\LaravelJsonApi\Services\JsonApiService' => \CloudCreativity\LaravelJsonApi\Services\JsonApiService::class,
|
||||
'CloudCreativity\LaravelJsonApi\View\Renderer' => \CloudCreativity\LaravelJsonApi\View\Renderer::class,
|
||||
'Cviebrock\EloquentSluggable\SluggableObserver' => \Cviebrock\EloquentSluggable\SluggableObserver::class,
|
||||
'ElasticMigrations\IndexManagerInterface' => \ElasticMigrations\Adapters\IndexManagerAdapter::class,
|
||||
'ElasticScoutDriver\Factories\DocumentFactoryInterface' => \ElasticScoutDriver\Factories\DocumentFactory::class,
|
||||
'ElasticScoutDriver\Factories\ModelFactoryInterface' => \ElasticScoutDriver\Factories\ModelFactory::class,
|
||||
'ElasticScoutDriver\Factories\SearchRequestFactoryInterface' => \ElasticScoutDriver\Factories\SearchRequestFactory::class,
|
||||
'Elasticsearch\Client' => \Elasticsearch\Client::class,
|
||||
'Facade\FlareClient\Flare' => \Facade\FlareClient\Flare::class,
|
||||
'Facade\IgnitionContracts\SolutionProviderRepository' => \Facade\Ignition\SolutionProviders\SolutionProviderRepository::class,
|
||||
'Facade\Ignition\DumpRecorder\DumpRecorder' => \Facade\Ignition\DumpRecorder\DumpRecorder::class,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ namespace App\Http\Controllers;
|
|||
|
||||
use App\Models\Food;
|
||||
use App\Models\Recipe;
|
||||
use ElasticScoutDriverPlus\Builders\MultiMatchQueryBuilder;
|
||||
use ElasticScoutDriverPlus\Builders\TermsQueryBuilder;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
|
@ -18,8 +20,27 @@ class IngredientPickerController extends Controller
|
|||
$results = new Collection();
|
||||
$term = $request->query->get('term');
|
||||
if (!empty($term)) {
|
||||
$results = $results->merge(Food::search($term)->get());
|
||||
$results = $results->merge(Recipe::search($term)->get());
|
||||
$results = Food::boolSearch()
|
||||
->join(Recipe::class)
|
||||
|
||||
// Attempt to match exact phrase first.
|
||||
->should('match_phrase', ['name' => $term])
|
||||
|
||||
// Attempt multi-match search on all relevant fields with search-as-you-type on name.
|
||||
->should((new MultiMatchQueryBuilder())
|
||||
->fields(['name', 'name._2gram', 'name._3gram', 'detail', 'brand', 'source'])
|
||||
->query($term)
|
||||
->type('bool_prefix')
|
||||
->analyzer('whitespace')
|
||||
->fuzziness('AUTO'))
|
||||
|
||||
// Attempt to match on any tags in the term.
|
||||
->should((new TermsQueryBuilder())
|
||||
->terms('tags', explode(' ', $term)))
|
||||
|
||||
// Get resulting models.
|
||||
->execute()
|
||||
->models();
|
||||
}
|
||||
return response()->json($results->values());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use App\Models\Traits\Ingredient;
|
|||
use App\Models\Traits\Journalable;
|
||||
use App\Models\Traits\Sluggable;
|
||||
use App\Support\Number;
|
||||
use ElasticScoutDriverPlus\QueryDsl;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Laravel\Scout\Searchable;
|
||||
|
|
@ -73,7 +74,13 @@ use Spatie\Tags\HasTags;
|
|||
*/
|
||||
final class Food extends Model
|
||||
{
|
||||
use HasFactory, HasTags, Ingredient, Journalable, Searchable, Sluggable;
|
||||
use HasFactory;
|
||||
use HasTags;
|
||||
use Ingredient;
|
||||
use Journalable;
|
||||
use QueryDsl;
|
||||
use Searchable;
|
||||
use Sluggable;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
|
|
@ -128,13 +135,20 @@ final class Food extends Model
|
|||
*/
|
||||
public function toSearchableArray(): array
|
||||
{
|
||||
$this->tags;
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'tags' => $this->tags->pluck('name')->implode(','),
|
||||
'detail' => $this->detail,
|
||||
'brand' => $this->brand,
|
||||
'tags' => $this->tags->pluck('name'),
|
||||
'source' => $this->source,
|
||||
'notes' => $this->notes,
|
||||
'calories' => $this->calories,
|
||||
'cholesterol' => $this->cholesterol,
|
||||
'sodium' => $this->sodium,
|
||||
'carbohydrates' => $this->carbohydrates,
|
||||
'protein' => $this->protein,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use App\Models\Traits\HasIngredients;
|
|||
use App\Models\Traits\Ingredient;
|
||||
use App\Models\Traits\Journalable;
|
||||
use App\Models\Traits\Sluggable;
|
||||
use ElasticScoutDriverPlus\QueryDsl;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
|
@ -57,7 +58,14 @@ use Spatie\Tags\HasTags;
|
|||
*/
|
||||
final class Recipe extends Model
|
||||
{
|
||||
use HasFactory, HasIngredients, HasTags, Ingredient, Journalable, Searchable, Sluggable;
|
||||
use HasFactory;
|
||||
use HasIngredients;
|
||||
use HasTags;
|
||||
use Ingredient;
|
||||
use Journalable;
|
||||
use QueryDsl;
|
||||
use Searchable;
|
||||
use Sluggable;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
|
|
@ -102,12 +110,13 @@ final class Recipe extends Model
|
|||
*/
|
||||
public function toSearchableArray(): array
|
||||
{
|
||||
$this->tags;
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'tags' => $this->tags->pluck('name')->implode(','),
|
||||
'description' => $this->description,
|
||||
'source' => $this->source,
|
||||
'tags' => $this->tags->pluck('name'),
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
"license": "MPL-2.0",
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"babenkoivan/elastic-migrations": "^1.4",
|
||||
"babenkoivan/elastic-scout-driver": "^1.3",
|
||||
"babenkoivan/elastic-scout-driver-plus": "^2.0",
|
||||
"cloudcreativity/laravel-json-api": "^3.2",
|
||||
"cviebrock/eloquent-sluggable": "^8.0",
|
||||
"fideloper/proxy": "^4.4",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f8b6c15824ff4be21313cc1abc4ae9ad",
|
||||
"content-hash": "3de6fe1cdf3b3dc2e2eafa5756bd52cd",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asm89/stack-cors",
|
||||
|
|
@ -62,6 +62,367 @@
|
|||
},
|
||||
"time": "2020-10-29T16:03:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "babenkoivan/elastic-adapter",
|
||||
"version": "v1.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babenkoivan/elastic-adapter.git",
|
||||
"reference": "68e006c893e3fba4594e9788c6cccbe507bd8508"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/babenkoivan/elastic-adapter/zipball/68e006c893e3fba4594e9788c6cccbe507bd8508",
|
||||
"reference": "68e006c893e3fba4594e9788c6cccbe507bd8508",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"elasticsearch/elasticsearch": "^7.3",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ElasticAdapter\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ivan Babenko",
|
||||
"email": "babenko.i.a@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Adapter for official PHP Elasticsearch client",
|
||||
"keywords": [
|
||||
"adapter",
|
||||
"client",
|
||||
"elastic",
|
||||
"elasticsearch",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/babenkoivan/elastic-adapter/issues",
|
||||
"source": "https://github.com/babenkoivan/elastic-adapter/tree/v1.13.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/ivanbabenko",
|
||||
"type": "buymeacoffee"
|
||||
},
|
||||
{
|
||||
"url": "https://paypal.me/babenkoi",
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-16T07:25:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "babenkoivan/elastic-client",
|
||||
"version": "v1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babenkoivan/elastic-client.git",
|
||||
"reference": "a1e818b444c5e64afd33a578aa4a009c54aff065"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/babenkoivan/elastic-client/zipball/a1e818b444c5e64afd33a578aa4a009c54aff065",
|
||||
"reference": "a1e818b444c5e64afd33a578aa4a009c54aff065",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"elasticsearch/elasticsearch": "^7.3",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"orchestra/testbench": "^6.12",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"ElasticClient\\ServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ElasticClient\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ivan Babenko",
|
||||
"email": "babenko.i.a@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "The official PHP Elasticsearch client integrated with Laravel",
|
||||
"keywords": [
|
||||
"client",
|
||||
"elastic",
|
||||
"elasticsearch",
|
||||
"laravel",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/babenkoivan/elastic-client/issues",
|
||||
"source": "https://github.com/babenkoivan/elastic-client/tree/v1.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/ivanbabenko",
|
||||
"type": "buymeacoffee"
|
||||
},
|
||||
{
|
||||
"url": "https://paypal.me/babenkoi",
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-16T07:28:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "babenkoivan/elastic-migrations",
|
||||
"version": "v1.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babenkoivan/elastic-migrations.git",
|
||||
"reference": "3e371dc6451751656eb3a0f788389f3c43b89bbb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/babenkoivan/elastic-migrations/zipball/3e371dc6451751656eb3a0f788389f3c43b89bbb",
|
||||
"reference": "3e371dc6451751656eb3a0f788389f3c43b89bbb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"babenkoivan/elastic-adapter": "^1.13",
|
||||
"babenkoivan/elastic-client": "^1.2",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"orchestra/testbench": "^6.12",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"ElasticMigrations\\ServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ElasticMigrations\\": "src"
|
||||
},
|
||||
"files": [
|
||||
"src/helpers.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ivan Babenko",
|
||||
"email": "babenko.i.a@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Elasticsearch migrations for Laravel",
|
||||
"keywords": [
|
||||
"elastic",
|
||||
"elasticsearch",
|
||||
"laravel",
|
||||
"migrations",
|
||||
"php"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/babenkoivan/elastic-migrations/issues",
|
||||
"source": "https://github.com/babenkoivan/elastic-migrations/tree/v1.4.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/ivanbabenko",
|
||||
"type": "buymeacoffee"
|
||||
},
|
||||
{
|
||||
"url": "https://paypal.me/babenkoi",
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-25T12:10:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "babenkoivan/elastic-scout-driver",
|
||||
"version": "v1.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babenkoivan/elastic-scout-driver.git",
|
||||
"reference": "3bc0105de26664731a9d5e8a145b010eea8fad4a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/babenkoivan/elastic-scout-driver/zipball/3bc0105de26664731a9d5e8a145b010eea8fad4a",
|
||||
"reference": "3bc0105de26664731a9d5e8a145b010eea8fad4a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"babenkoivan/elastic-adapter": "^1.13",
|
||||
"babenkoivan/elastic-client": "^1.2",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"babenkoivan/elastic-migrations": "^1.4",
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"laravel/legacy-factories": "^1.1",
|
||||
"laravel/scout": "^8.0",
|
||||
"orchestra/testbench": "^6.12",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"ElasticScoutDriver\\ServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ElasticScoutDriver\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ivan Babenko",
|
||||
"email": "babenko.i.a@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Elasticsearch driver for Laravel Scout",
|
||||
"keywords": [
|
||||
"driver",
|
||||
"elastic",
|
||||
"elasticsearch",
|
||||
"laravel",
|
||||
"php",
|
||||
"scout"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/babenkoivan/elastic-scout-driver/issues",
|
||||
"source": "https://github.com/babenkoivan/elastic-scout-driver/tree/v1.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/ivanbabenko",
|
||||
"type": "buymeacoffee"
|
||||
},
|
||||
{
|
||||
"url": "https://paypal.me/babenkoi",
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2021-02-25T12:18:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "babenkoivan/elastic-scout-driver-plus",
|
||||
"version": "v2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babenkoivan/elastic-scout-driver-plus.git",
|
||||
"reference": "c1f013eacb21c89442e1d103ff889ba30472a9a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/babenkoivan/elastic-scout-driver-plus/zipball/c1f013eacb21c89442e1d103ff889ba30472a9a1",
|
||||
"reference": "c1f013eacb21c89442e1d103ff889ba30472a9a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"babenkoivan/elastic-adapter": "^1.13",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"babenkoivan/elastic-migrations": "^1.4",
|
||||
"babenkoivan/elastic-scout-driver": "^1.3",
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"laravel/legacy-factories": "^1.1",
|
||||
"laravel/scout": "^8.0",
|
||||
"orchestra/testbench": "^6.12",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpunit/phpunit": "^9.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"ElasticScoutDriverPlus\\ServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"ElasticScoutDriverPlus\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ivan Babenko",
|
||||
"email": "babenko.i.a@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Extension for Elastic Scout Driver",
|
||||
"keywords": [
|
||||
"driver",
|
||||
"elastic",
|
||||
"elasticsearch",
|
||||
"laravel",
|
||||
"php",
|
||||
"scout"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/babenkoivan/elastic-scout-driver-plus/issues",
|
||||
"source": "https://github.com/babenkoivan/elastic-scout-driver-plus/tree/v2.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.buymeacoffee.com/ivanbabenko",
|
||||
"type": "buymeacoffee"
|
||||
},
|
||||
{
|
||||
"url": "https://paypal.me/babenkoi",
|
||||
"type": "paypal"
|
||||
}
|
||||
],
|
||||
"time": "2021-03-01T17:57:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "brick/math",
|
||||
"version": "0.9.1",
|
||||
|
|
@ -691,6 +1052,182 @@
|
|||
],
|
||||
"time": "2020-12-29T14:50:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "elasticsearch/elasticsearch",
|
||||
"version": "v7.11.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/elastic/elasticsearch-php.git",
|
||||
"reference": "277cd5e182827c59c23e146a836a30470c0f879d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/277cd5e182827c59c23e146a836a30470c0f879d",
|
||||
"reference": "277cd5e182827c59c23e146a836a30470c0f879d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": ">=1.3.7",
|
||||
"ezimuel/ringphp": "^1.1.2",
|
||||
"php": "^7.1 || ^8.0",
|
||||
"psr/log": "~1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"cpliakas/git-wrapper": "~2.0 || ~3.0",
|
||||
"doctrine/inflector": "^1.3",
|
||||
"ext-yaml": "*",
|
||||
"ext-zip": "*",
|
||||
"mockery/mockery": "^1.2",
|
||||
"phpstan/phpstan": "^0.12",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
|
||||
"squizlabs/php_codesniffer": "^3.4",
|
||||
"symfony/finder": "~4.0",
|
||||
"symfony/yaml": "~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "*",
|
||||
"monolog/monolog": "Allows for client-level logging and tracing"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/autoload.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Elasticsearch\\": "src/Elasticsearch/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"Apache-2.0"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Zachary Tong"
|
||||
},
|
||||
{
|
||||
"name": "Enrico Zimuel"
|
||||
}
|
||||
],
|
||||
"description": "PHP Client for Elasticsearch",
|
||||
"keywords": [
|
||||
"client",
|
||||
"elasticsearch",
|
||||
"search"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/elastic/elasticsearch-php/issues",
|
||||
"source": "https://github.com/elastic/elasticsearch-php/tree/v7.11.0"
|
||||
},
|
||||
"time": "2021-02-11T11:04:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezimuel/guzzlestreams",
|
||||
"version": "3.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezimuel/guzzlestreams.git",
|
||||
"reference": "abe3791d231167f14eb80d413420d1eab91163a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezimuel/guzzlestreams/zipball/abe3791d231167f14eb80d413420d1eab91163a8",
|
||||
"reference": "abe3791d231167f14eb80d413420d1eab91163a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Stream\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
}
|
||||
],
|
||||
"description": "Fork of guzzle/streams (abandoned) to be used with elasticsearch-php",
|
||||
"homepage": "http://guzzlephp.org/",
|
||||
"keywords": [
|
||||
"Guzzle",
|
||||
"stream"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/ezimuel/guzzlestreams/tree/3.0.1"
|
||||
},
|
||||
"time": "2020-02-14T23:11:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezimuel/ringphp",
|
||||
"version": "1.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ezimuel/ringphp.git",
|
||||
"reference": "0b78f89d8e0bb9e380046c31adfa40347e9f663b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ezimuel/ringphp/zipball/0b78f89d8e0bb9e380046c31adfa40347e9f663b",
|
||||
"reference": "0b78f89d8e0bb9e380046c31adfa40347e9f663b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ezimuel/guzzlestreams": "^3.0.1",
|
||||
"php": ">=5.4.0",
|
||||
"react/promise": "~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-curl": "*",
|
||||
"phpunit/phpunit": "~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "Guzzle will use specific adapters if cURL is present"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Ring\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
}
|
||||
],
|
||||
"description": "Fork of guzzle/RingPHP (abandoned) to be used with elasticsearch-php",
|
||||
"support": {
|
||||
"source": "https://github.com/ezimuel/ringphp/tree/1.1.2"
|
||||
},
|
||||
"time": "2020-02-14T23:51:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fideloper/proxy",
|
||||
"version": "4.4.1",
|
||||
|
|
@ -2940,6 +3477,56 @@
|
|||
],
|
||||
"time": "2020-08-18T17:17:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/promise",
|
||||
"version": "v2.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactphp/promise.git",
|
||||
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4",
|
||||
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"React\\Promise\\": "src/"
|
||||
},
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jan Sorgalla",
|
||||
"email": "jsorgalla@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A lightweight implementation of CommonJS Promises/A for PHP",
|
||||
"keywords": [
|
||||
"promise",
|
||||
"promises"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/reactphp/promise/issues",
|
||||
"source": "https://github.com/reactphp/promise/tree/v2.8.0"
|
||||
},
|
||||
"time": "2020-05-12T15:16:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/eloquent-sortable",
|
||||
"version": "3.11.0",
|
||||
|
|
@ -8611,56 +9198,6 @@
|
|||
],
|
||||
"time": "2020-12-04T05:05:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/promise",
|
||||
"version": "v2.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactphp/promise.git",
|
||||
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4",
|
||||
"reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"React\\Promise\\": "src/"
|
||||
},
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jan Sorgalla",
|
||||
"email": "jsorgalla@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A lightweight implementation of CommonJS Promises/A for PHP",
|
||||
"keywords": [
|
||||
"promise",
|
||||
"promises"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/reactphp/promise/issues",
|
||||
"source": "https://github.com/reactphp/promise/tree/v2.8.0"
|
||||
},
|
||||
"time": "2020-05-12T15:16:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
"version": "1.0.1",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SCOUT_DRIVER', 'tntsearch'),
|
||||
'driver' => env('SCOUT_DRIVER', 'elastic'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -116,23 +116,4 @@ return [
|
|||
'secret' => env('ALGOLIA_SECRET', ''),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| TNT Search Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
'tntsearch' => [
|
||||
'storage' => storage_path() . '/indexes',
|
||||
'fuzziness' => env('TNTSEARCH_FUZZINESS', false),
|
||||
'fuzzy' => [
|
||||
'prefix_length' => 2,
|
||||
'max_expansions' => 50,
|
||||
'distance' => 2
|
||||
],
|
||||
'asYouType' => true,
|
||||
'searchBoolean' => env('TNTSEARCH_BOOLEAN', false),
|
||||
'maxDocs' => env('TNTSEARCH_MAX_DOCS', 500),
|
||||
],
|
||||
|
||||
];
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use ElasticAdapter\Indices\Mapping;
|
||||
use ElasticAdapter\Indices\Settings;
|
||||
use ElasticMigrations\Facades\Index;
|
||||
use ElasticMigrations\MigrationInterface;
|
||||
|
||||
final class CreateFoodsIndex implements MigrationInterface
|
||||
{
|
||||
/**
|
||||
* Run the migration.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Index::create('foods', function (Mapping $mapping, Settings $settings) {
|
||||
$mapping->searchAsYouType('name', ['boost' => 2])
|
||||
->keyword('tags', ['normalizer' => 'lowercase'])
|
||||
->text('detail', ['boost' => 1.5])
|
||||
->text('brand')
|
||||
->text('source')
|
||||
->text('notes')
|
||||
->float('calories')
|
||||
->float('cholesterol')
|
||||
->float('sodium')
|
||||
->float('carbohydrates')
|
||||
->float('protein')
|
||||
->date('created_at')
|
||||
->date('updated_at');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migration.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Index::dropIfExists('foods');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
use ElasticAdapter\Indices\Mapping;
|
||||
use ElasticAdapter\Indices\Settings;
|
||||
use ElasticMigrations\Facades\Index;
|
||||
use ElasticMigrations\MigrationInterface;
|
||||
|
||||
final class CreateRecipesIndex implements MigrationInterface
|
||||
{
|
||||
/**
|
||||
* Run the migration.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Index::create('recipes', function (Mapping $mapping, Settings $settings) {
|
||||
$mapping->searchAsYouType('name', ['boost' => 2])
|
||||
->keyword('tags', ['normalizer' => 'lowercase'])
|
||||
->text('description')
|
||||
->text('source')
|
||||
->date('created_at')
|
||||
->date('updated_at');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migration.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Index::dropIfExists('recipes');
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue