From bad1067b3202397edaa9d723dc7cd9c2e759db86 Mon Sep 17 00:00:00 2001 From: Vincent BRIDIER Date: Thu, 5 Dec 2019 17:25:38 +0100 Subject: [PATCH] - Add search with + - Fix ArcadiaLink --- app/Http/Controllers/MediaController.php | 48 ++++++++++++++++++++++++ app/Http/Traits/ArcadiaLink.php | 2 +- app/Models/Media.php | 3 +- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index 73e179e..16bacfb 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -346,6 +346,54 @@ class MediaController extends Controller ]; break; } + }else if (strpos($search, '+') !== false){ + $search = strtolower(trim($filters->search->value)); + $tmpSearch = explode('+', $search); + + $mustLib = []; + foreach ($tmpSearch as $search) { + array_push($mustLib, [ + 'wildcard' => [ + 'libelle.keyword' => [ + 'wildcard' => "*$search*", + 'boost' => 1.0 + ] + ] + ]); + } + + $mustArt = []; + foreach ($tmpSearch as $search) { + array_push($mustArt, [ + 'wildcard' => [ + 'articles.libCcial.keyword' => [ + 'wildcard' => "*$search*", + 'boost' => 1.0 + ] + ] + ]); + } + + $tmpFilters = [ + [ + 'bool' => [ + 'should' => [ + [ + 'bool' => [ + 'must' => $mustLib + ] + ], + [ + 'bool' => [ + 'must' => $mustArt + ] + ] + ] + ] + ] + ]; + + //dd($tmpFilters);exit; }else{ $tmpFilters = [ [ diff --git a/app/Http/Traits/ArcadiaLink.php b/app/Http/Traits/ArcadiaLink.php index bfcff91..03a83b4 100644 --- a/app/Http/Traits/ArcadiaLink.php +++ b/app/Http/Traits/ArcadiaLink.php @@ -113,7 +113,7 @@ trait ArcadiaLink { $cleRef = $root->appendChild( $dom->createElement('cle_Referentiel')); foreach ($refKey as $k) { - $cleRef->appendChild( $dom->createElement('id'))->appendChild($dom->createCDATASection( "$k->id")); + $cleRef->appendChild( $dom->createElement('id'))->appendChild($dom->createCDATASection( "$k->noArt")); } $root->appendChild( $dom->createElement('libExtension'))->appendChild($dom->createCDATASection( "$media->extension")); diff --git a/app/Models/Media.php b/app/Models/Media.php index 39aca46..e3facb5 100644 --- a/app/Models/Media.php +++ b/app/Models/Media.php @@ -51,8 +51,7 @@ class Media extends Model ], 'tokenizer' => 'whitespace', 'filter' => [ - 'lowercase', - 'word_delimiter', + 'word_delimiter' ], ], ],