Releases: matchory/elasticsearch
Version 2.5.0 (Beta 1)
Change log
- Feature: Added support for filter shorthand methods to add filters to the query directly
- Feature: Allowed to use
filter
,must
andmust_not
with their counterparts from a custom body by merging them - Feature: Added possibility to use literal comparison operators (
eq
,gte
, etc.) in addition to standard operators - Fix: Improved URL resolution for pagination by using Laravel's request facade
- Fix: Added IDE autocompletion to pagination instances by adding a mixin annotation to
Collection
Version 2.4.1
Change log
- Fix: Previous release was broken.
Version 2.4.0
Change log
- Feature: Made aggregations available on result collections
Version 2.3.1
Change log
- Fix: Maximum score would inadvertedly be cast to an integer, during collection construction, loosing the float precision (#28)
- Fix: Duration would inadvertedly be cast to an integer during collection construction, loosing the float precision (#29)
- Fix: Highlights would not be read due to the field name being misspelt
Version 2.3.0
Change log
- Feature: Added support for suggestions (#26)
- Feature: Allow adding index aliases during creation by using
Index::alias()
- Fix: Creating an index with an alias would fail unless options are specified (#24)
- Fix: Log channel would be ignored (#5, #25)
- Fix: The library would not work with legacy Laravel releases due to missing functionality provided by newer Eloquent traits used in the model. (#8, #9)
- Docs: Greatly improved documentation on the
Index
class - Chore: Bumped dependencies
Backports
This release contains backports of all Eloquent traits used in the model. As this is quite the maintenance burden, the final 2.3.0 release will be the last feature release in the 2.x branch. After that, all work will occur in the new 3.x series, which won't include backports and defines a minimum Laravel version of 7.x, keeping in line with Laravel's release schedule (we won't support legacy Laravel versions).
Adding aliases to a new index
Previously it wasn't possible to create new indices with one or more aliases. You can do that now, thanks to the new alias()
helper method on the Index
instance:
resolve('es')->createIndex(
'my-index-2021-03-26',
fn(Index $index) => $index->alias('my-index')
);
Version 2.3.0 (Beta 3)
Change log
- Fix: The library would not work with legacy Laravel releases due to missing functionality provided by newer Eloquent traits used in the model. (#8, #9)
Backports
This release contains backports of all Eloquent traits used in the model. As this is quite the maintenance burden, the final 2.3.0 release will be the last feature release in the 2.x branch. After that, all work will occur in the new 3.x series, which won't include backports and defines a minimum Laravel version of 7.x, keeping in line with Laravel's release schedule (we won't support legacy Laravel versions).
Version 2.3.0 (Beta 2)
Version 2.3.0 (Beta 1)
Change log
- Feature: Allow adding index aliases during creation by using
Index::alias()
- Docs: Greatly improved documentation on the
Index
class - Chore: Bumped dependencies
Adding aliases to a new index
Previously it wasn't possible to create new indices with one or more aliases. You can do that now, thanks to the new alias()
helper method on the Index
instance:
resolve('es')->createIndex(
'my-index-2021-03-26',
fn(Index $index) => $index->alias('my-index')
);
Version 2.2.0
Change log
- Feature: Added
explain()
method to the query builder to explain the current query - Feature: Added clean injection of cache and logger using PSR factories
- Fix: The artisan commands would not be registered due to a badly formatted condition
- Fix: Lots of type improvements
- Fix: Abstract trait functions would throw an error due to type inconsistencies.
- Fix: Index handling would not use the connection properly.
- Fix: Bulk queries would not use the connection properly.
- Fix: Plucking fields and retrieving the results as an array would cause an error due to
toArray
not being checked on the collection items (#17) - Fix: Creating items using
Model::create
would not allow setting their ID (#11) - Fix: Renamed
_source.include
and_source.exclude
to_source.includes
and_source.excludes
(the old variants have since been deprecated by Elasticsearch) - Fix: Creating models with an existing ID would not be possible due to the ID being written to the request body (#10)
- Chore: Updated dependencies, added Dependabot
- Chore: Type improvements
- Chore: Improved code structure, added more tests