Skip to content

Releases: pionl/laravel-lelastico

0.1.4

02 May 16:17
aac7943
Compare
Choose a tag to compare

⛑ Fix updating index settings (lock index, change settings, open index). For updating only mappings use --skip-settings-update option in elastic:indices command.

🏋️‍♂️ Add ability to convert request value to any type you want in RequestFilter by extending convertValue function.

protected function convertValue($value)
{
    if (null === $value) {
         return 0;
    }

    return intval($value);
}

⛑ Minor fixes

0.1.3

17 Apr 13:24
d6a127c
Compare
Choose a tag to compare

🚀 Adds update document + create or update document methods

$index->createOrUpdateDocument($id, $document)
$index->updateDocument($id, $document)

0.1.2

17 Apr 12:56
b772c4d
Compare
Choose a tag to compare

🎆 Add ability to create a request filter with query builder filter in single line

Easier creating of reusable filters

class NameFilter extends RequestFilter
{
    public function __construct(Request $request)
    {
        parent::__construct($request, 'name', NameQuery::class);
    }
}

Add non-reusable filters

 $this->addFilter(new RequestQueryFilter(
         $request,
         'gender',
         fn($value) => [Filter::term()->setField('gender')->setValue($value)])
 )->addFilter(new RequestQueryFilter(
    $request,
    'country_code',
    TermFilter::class
))->addFilter(new RequestQueryFilter(
    $request,
    'c',
    [MatchFilter::class, 'city']
))

Add non-reusable from array map*

$this->addQueryFilters([
    'gender' => TermFilter::class,
    'city' => MatchFilter::class,
    'country_code' => TermFilter::class,
    'citizen_of' => TermFilter::class,
    'phone' => MatchFilter::class,
]);

🎆 Add queries that will be added as must instead of filter (to support scoring)

By setting $scoring in your query

class NameQuery extends AbstractQuery
{
    public $scoring = true;
...

While creating GivenFilters or GivenOrQueries

new GivenFilters([Filter::term()], true)
new GivenOrQueries([Filter::term()], true)

While adding query filters as array map

$this->addQueryFilters([
    'gender' => TermFilter::class,
    'city' => MatchFilter::class,
], true);

0.1.1

16 Apr 16:40
7abacad
Compare
Choose a tag to compare

⛑ Allow getSourceItem to return non array values
⛑ Make root filter opt

0.1.0

16 Apr 16:30
ce466e8
Compare
Choose a tag to compare

Initial working version