From c4810d764556f04652e80824de52b4f6d310790c Mon Sep 17 00:00:00 2001 From: Derek Stephen McLean Date: Sun, 18 Feb 2024 19:26:38 +0100 Subject: [PATCH] feature #3331 [SearchBundle, NodeSearchBundle] : change `nGram` to `ngram` (delboy1978uk) This PR was squashed before being merged into the 6.x branch. Discussion ---------- | Q | A | ------------- | --- | Bug fix? | yes| | New feature? | no | BC breaks? | no | Deprecations? | no | Fixed tickets | NA When using elastic search 8, elastica throws the following Exception The [nGram] tokenizer name was deprecated in 7.6. Please use the tokenizer name to [ngram] for indices created in versions 8 or higher instead. Version 7 uses ngram as well as nGram as can be seen here, https://www.elastic.co/guide/en/elasticsearch/reference/7.14/analysis-ngram-tokenizer.html#_example_output_13 , so this pull request simply lower cases the G's, which allows the search population command to successfully run again Commits ------- 1f7f51e35922f03840b9cf7ceb7a48e851ea64fb [SearchBundle, NodeSearchBundle] : change `nGram` to `ngram` 211616a3c91ea55ea0320713dc45a39ae94f72d8 strtolower $tokenizer['type'] #3331 --- .../NodeSearchBundle/Configuration/NodePagesConfiguration.php | 2 +- src/Kunstmaan/SearchBundle/Search/AbstractAnalysisFactory.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Kunstmaan/NodeSearchBundle/Configuration/NodePagesConfiguration.php b/src/Kunstmaan/NodeSearchBundle/Configuration/NodePagesConfiguration.php index f28b8cc3f6..6548fa853d 100644 --- a/src/Kunstmaan/NodeSearchBundle/Configuration/NodePagesConfiguration.php +++ b/src/Kunstmaan/NodeSearchBundle/Configuration/NodePagesConfiguration.php @@ -327,7 +327,7 @@ public function setAnalysis(Index $index, AnalysisFactoryInterface $analysis) $ngramDiff = 1; if (isset($analysers['tokenizer']) && count($analysers['tokenizer']) > 0) { foreach ($analysers['tokenizer'] as $tokenizer) { - if ($tokenizer['type'] === 'nGram') { + if (\strtolower($tokenizer['type']) === 'ngram') { $diff = $tokenizer['max_gram'] - $tokenizer['min_gram']; $ngramDiff = $diff > $ngramDiff ? $diff : $ngramDiff; diff --git a/src/Kunstmaan/SearchBundle/Search/AbstractAnalysisFactory.php b/src/Kunstmaan/SearchBundle/Search/AbstractAnalysisFactory.php index c0c6377826..8fa7cd261f 100644 --- a/src/Kunstmaan/SearchBundle/Search/AbstractAnalysisFactory.php +++ b/src/Kunstmaan/SearchBundle/Search/AbstractAnalysisFactory.php @@ -98,7 +98,7 @@ public function addStripSpecialCharsFilter() public function addNGramTokenizer() { $this->tokenizers['kuma_ngram'] = [ - 'type' => 'nGram', + 'type' => 'ngram', 'min_gram' => 4, 'max_gram' => 30, 'token_chars' => ['letter', 'digit', 'punctuation'],