isswp101/elasticsearch-eloquent
create(), save(), find()) for Elasticsearch operations. This aligns well with Laravel’s conventions and reduces cognitive load for teams already using Eloquent.index and type properties in models enforce schema clarity, which is critical for Elasticsearch. However, the type field is optional, reflecting Elasticsearch 7.x+ deprecation of explicit types (though the package predates the full removal in 8.x).PersistenceContract) allows for flexibility in client configuration (e.g., custom hosts, authentication, or retry logic). This is a strength for environments with non-standard Elasticsearch setups.type deprecation.bulkIndex, deleteByQuery).index or mapping changes).from/size vs. Laravel’s cursor-based pagination).illuminate/elasticsearch, which may offer better integration, maintenance, and feature parity. Evaluate if this package provides unique value (e.g., Eloquent-like syntax).type field is redundant in Elasticsearch 8.x. Will you:
type property?_doc type?Elasticsearch\Client) to this package’s methods? Will you need a hybrid approach?elasticsearch:8) for CI.config/app.php or a custom provider.Route::model() or implicit binding for Elasticsearch-backed routes.FormRequest).created, updated) for Elasticsearch-specific logic.elasticsearch/elasticsearch PHP client. Ensure your Elasticsearch cluster version (7.x/8.x) aligns with the client’s supported features.Product, Article).Product::create(), UserSearch::find()).Product (Eloquent) + ProductSearch (Elasticsearch).observers or model events).illuminate/elasticsearch.create() method (e.g., mass assignment protection).type field, handling deprecations).spatie/laravel-elasticsearch).composer require isswp101/elasticsearch-eloquent.BaseElasticsearchModel) if needed.App\Models\Elasticsearch\Product).Model::search($query)). PestPHP or PHPUnit).How can I help you explore Laravel packages today?