Skip to content

Commit 3f52d30

Browse files
Oktopucedkd-kaehm
authored andcommitted
Fix bug for phrase search with slops, bigram and trigram
Fix bug for phrase, bigramPhrase and trigramPhrase searches with slops Fixes: #4459 Ports: #4460
1 parent d7f3386 commit 3f52d30

File tree

1 file changed

+13
-8
lines changed
  • Classes/Domain/Search/Query/ParameterBuilder

1 file changed

+13
-8
lines changed

Classes/Domain/Search/Query/ParameterBuilder/Slops.php

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,35 +134,40 @@ public static function fromTypoScriptConfiguration(TypoScriptConfiguration $solr
134134
$phraseSlop = static::getPhraseSlopFromConfiguration($searchConfiguration);
135135
$bigramPhraseSlop = static::getBigramPhraseSlopFromConfiguration($searchConfiguration);
136136
$trigramPhraseSlop = static::getTrigramPhraseSlopFromConfiguration($searchConfiguration);
137+
137138
return new Slops($querySlop, $phraseSlop, $bigramPhraseSlop, $trigramPhraseSlop);
138139
}
139140

140141
protected static function getPhraseSlopFromConfiguration(array $searchConfiguration): ?int
141142
{
142-
$phraseEnabled = !(empty($searchConfiguration['query.']['phrase']) || $searchConfiguration['query.']['phrase'] !== 1);
143+
$phraseEnabled = !(empty($searchConfiguration['query.']['phrase']) || (int)$searchConfiguration['query.']['phrase'] !== 1);
143144
$phraseSlopConfigured = !empty($searchConfiguration['query.']['phrase.']['slop']);
144-
return ($phraseEnabled && $phraseSlopConfigured) ? $searchConfiguration['query.']['phrase.']['slop'] : self::NO_SLOP;
145+
146+
return ($phraseEnabled && $phraseSlopConfigured) ? (int)$searchConfiguration['query.']['phrase.']['slop'] : self::NO_SLOP;
145147
}
146148

147149
protected static function getQuerySlopFromConfiguration(array $searchConfiguration): ?int
148150
{
149-
$phraseEnabled = !(empty($searchConfiguration['query.']['phrase']) || $searchConfiguration['query.']['phrase'] !== 1);
151+
$phraseEnabled = !(empty($searchConfiguration['query.']['phrase']) || (int)$searchConfiguration['query.']['phrase'] !== 1);
150152
$querySlopConfigured = !empty($searchConfiguration['query.']['phrase.']['querySlop']);
151-
return ($phraseEnabled && $querySlopConfigured) ? $searchConfiguration['query.']['phrase.']['querySlop'] : self::NO_SLOP;
153+
154+
return ($phraseEnabled && $querySlopConfigured) ? (int)$searchConfiguration['query.']['phrase.']['querySlop'] : self::NO_SLOP;
152155
}
153156

154157
protected static function getBigramPhraseSlopFromConfiguration(array $searchConfiguration): ?int
155158
{
156-
$bigramPhraseEnabled = !empty($searchConfiguration['query.']['bigramPhrase']) && $searchConfiguration['query.']['bigramPhrase'] === 1;
159+
$bigramPhraseEnabled = !empty($searchConfiguration['query.']['bigramPhrase']) && (int)$searchConfiguration['query.']['bigramPhrase'] === 1;
157160
$bigramSlopConfigured = !empty($searchConfiguration['query.']['bigramPhrase.']['slop']);
158-
return ($bigramPhraseEnabled && $bigramSlopConfigured) ? $searchConfiguration['query.']['bigramPhrase.']['slop'] : self::NO_SLOP;
161+
162+
return ($bigramPhraseEnabled && $bigramSlopConfigured) ? (int)$searchConfiguration['query.']['bigramPhrase.']['slop'] : self::NO_SLOP;
159163
}
160164

161165
protected static function getTrigramPhraseSlopFromConfiguration(array $searchConfiguration): ?int
162166
{
163-
$trigramPhraseEnabled = !empty($searchConfiguration['query.']['trigramPhrase']) && $searchConfiguration['query.']['trigramPhrase'] === 1;
167+
$trigramPhraseEnabled = !empty($searchConfiguration['query.']['trigramPhrase']) && (int)$searchConfiguration['query.']['trigramPhrase'] === 1;
164168
$trigramSlopConfigured = !empty($searchConfiguration['query.']['trigramPhrase.']['slop']);
165-
return ($trigramPhraseEnabled && $trigramSlopConfigured) ? $searchConfiguration['query.']['trigramPhrase.']['slop'] : self::NO_SLOP;
169+
170+
return ($trigramPhraseEnabled && $trigramSlopConfigured) ? (int)$searchConfiguration['query.']['trigramPhrase.']['slop'] : self::NO_SLOP;
166171
}
167172

168173
public function build(AbstractQueryBuilder $parentBuilder): AbstractQueryBuilder

0 commit comments

Comments
 (0)