All notable changes to Explorer
will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
- Bug with running the update command for and index without an alias (#92)
- Support for PHP 8.1
- Laravel Scout's prefix is added to the index name if present
- Max and Nested aggregations
- Dropped support for PHP 7
- Dropped support for Laravel 7 and 8
- Removed deprecated
elastic:create
andelastic:delete
commands - DocumentAdapterInterface and IndexAdapterInterface have slightly changed
- Fixed bug where index could not be created without settings (#81)
- The new match_phrase query (#73)
- Ability to optionally set more parameters for a few queries (#68)
- Index aliases, useful for zero downtime indexing
- Connection configuration now can include API ID and key (#74)
- The
elastic:create
andelastic:delete
are deprecated in favour ofscout:index
andscout:delete-index
- Use lazy instead of cursor when mapping lazy collections
- The scout:index and scout:delete commands are now implemented for Elasticsearch
- A DocumentAdapterInterface with an adapter that only deals with documents
- The Query String and Simple Query String syntax
- The ability to fake Elasticsearch responses, allowing integration tests with this package
- The IndexAdapterInterface now only focuses on indices
- If you rely on the old IndexAdapterInterface, use the DeprecatedElasticAdapterInterface instead of the IndexAdapterInterface to keep the functionality working as it previously was
- Support for term aggregations
- Wildcard syntax
- Pagination now works with the default Laravel Scout
paginate()
method
- DisjunctionMax, Exists and Invert Query Syntaxes
- Updated Laravel Scout support to include v9
- Indices are now configured through a IndexConfiguration class and repository
- Both Match and MultiMatch queries may now specify a 'fuzziness', the default stays 'auto'
- Using the
field()
on the search builder you may now define specifically which field(s) should be retrieved for the documents - New function score compound queries that can replace the default boolean compound query
- A static
debug
method to help you with the last executed query - Laravel Scout's
take()
method can be used to set the max amount of results - Text analysis (analyzers, tokenizers, filters, etc.) is now possible through index settings.
- Prepare (parts of) your data before letting Elasticsearch index it.
- Sorting now uses the default Scout
orderBy()
method - The MultiMatch now accepts a
fields
array with the fields to search in - The Engine now uses Elastic's bulk operations to speed up updates of models
- Running
scout:flush
now actually deletes the contents of an index
- Added the
newCompound()
function to customize the compound query
- Boosts may now completely be left out
- Console commands now use the configured connection
- Client used to boot with three connections instead of one
- BoolQueries can now also be nested
- Ability to query nested property types
- Boosts are now null by default
- The boost field in the Range query was not in the right place
- The builder used the words must, should and filter plural instead of singular
- Updated dev dependency Infection to 0.20
- Everything