diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 65f464ae..81305c3b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -40,7 +40,7 @@ jobs: run: | # Mapping of original redis versions to client test containers declare -A redis_clients_version_mapping=( - ["8.4"]="8.4-RC1-pre.2" + ["8.4"]="8.4.0" ["8.2"]="8.2.2-pre" ["8.0"]="8.0.2" ["7.4"]="7.4.2" diff --git a/CHANGELOG.md b/CHANGELOG.md index dae62d42..93f8d072 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Added testing with 8.4-M01 (#1593) - Added testing with 8.4-RC1-pre image (#1602) - Added testing with 8.4-RC1-pre.2 image (#1605) +- Added testing with 8.4-GA (#1611) ## v3.2.0 (2025-08-05) ### Added diff --git a/src/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfig.php b/src/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfig.php index 6a627268..2eade4d4 100644 --- a/src/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfig.php +++ b/src/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfig.php @@ -74,10 +74,6 @@ class KNNVectorSearchConfig extends BaseVectorSearchConfig array_push($tokens, 'EF_RUNTIME', $this->ef); } - if ($this->as) { - array_push($tokens, ...$this->as); - } - if (!empty($tokens)) { array_push($this->arguments, count($tokens), ...$tokens); } @@ -86,6 +82,10 @@ class KNNVectorSearchConfig extends BaseVectorSearchConfig $this->arguments = array_merge($this->arguments, $this->filter); } + if ($this->as) { + array_push($this->arguments, ...$this->as); + } + return $this->arguments; } } diff --git a/src/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfig.php b/src/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfig.php index a4457df6..20099cbd 100644 --- a/src/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfig.php +++ b/src/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfig.php @@ -72,10 +72,6 @@ class RangeVectorSearchConfig extends BaseVectorSearchConfig array_push($tokens, 'EPSILON', $this->epsilon); } - if ($this->as) { - array_push($tokens, ...$this->as); - } - if (!empty($tokens)) { array_push($this->arguments, count($tokens), ...$tokens); } @@ -84,6 +80,10 @@ class RangeVectorSearchConfig extends BaseVectorSearchConfig $this->arguments = array_merge($this->arguments, $this->filter); } + if ($this->as) { + array_push($this->arguments, ...$this->as); + } + return $this->arguments; } } diff --git a/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfigTest.php b/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfigTest.php index bf9c92b3..abaa567e 100644 --- a/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfigTest.php +++ b/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/KNNVectorSearchConfigTest.php @@ -70,7 +70,7 @@ class KNNVectorSearchConfigTest extends TestCase ->ef(5) ->filter('*') ->as('alias'), - ['VSIM', 'vector', VectorUtility::toBlob([0.1, 0.2, 0.3]), 'KNN', 6, 'K', 5, 'EF_RUNTIME', 5, 'YIELD_SCORE_AS', 'alias', 'FILTER', '*']], + ['VSIM', 'vector', VectorUtility::toBlob([0.1, 0.2, 0.3]), 'KNN', 4, 'K', 5, 'EF_RUNTIME', 5, 'FILTER', '*', 'YIELD_SCORE_AS', 'alias']], ]; } } diff --git a/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfigTest.php b/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfigTest.php index 1cbac528..6a2035f0 100644 --- a/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfigTest.php +++ b/tests/Predis/Command/Argument/Search/HybridSearch/VectorSearch/RangeVectorSearchConfigTest.php @@ -80,7 +80,7 @@ class RangeVectorSearchConfigTest extends TestCase ->epsilon(0.2) ->as('alias') ->filter('*'), - ['VSIM', 'vector', VectorUtility::toBlob([0.1, 0.2, 0.3]), 'RANGE', 6, 'RADIUS', 5, 'EPSILON', 0.2, 'YIELD_SCORE_AS', 'alias', 'FILTER', '*']], + ['VSIM', 'vector', VectorUtility::toBlob([0.1, 0.2, 0.3]), 'RANGE', 4, 'RADIUS', 5, 'EPSILON', 0.2, 'FILTER', '*', 'YIELD_SCORE_AS', 'alias']], ]; } }