|
13 | 13 | namespace Predis\Command\Redis\Search; |
14 | 14 |
|
15 | 15 | use Predis\Command\Argument\Search\CreateArguments; |
| 16 | +use Predis\Command\Argument\Search\SchemaFields\GeoField; |
16 | 17 | use Predis\Command\Argument\Search\SchemaFields\NumericField; |
17 | 18 | use Predis\Command\Argument\Search\SchemaFields\TagField; |
18 | 19 | use Predis\Command\Argument\Search\SchemaFields\TextField; |
@@ -113,6 +114,43 @@ public function testCreatesSearchIndexWithFloat16Vector(): void |
113 | 114 | $this->assertEquals('OK', $actualResponse); |
114 | 115 | } |
115 | 116 |
|
| 117 | + /** |
| 118 | + * @group connected |
| 119 | + * @group relay-resp3 |
| 120 | + * @return void |
| 121 | + * @requiresRediSearchVersion >= 2.9.0 |
| 122 | + */ |
| 123 | + public function testCreatesSearchIndexWithMissingAndEmptyFields(): void |
| 124 | + { |
| 125 | + $redis = $this->getClient(); |
| 126 | + |
| 127 | + $schema = [ |
| 128 | + new TextField( |
| 129 | + 'text_empty', |
| 130 | + '', |
| 131 | + false, false, false, '', 1, false, true |
| 132 | + ), |
| 133 | + new TagField('tag_empty', |
| 134 | + '', false, false, ',', false, true |
| 135 | + ), |
| 136 | + new NumericField('num_missing', '', false, false, true), |
| 137 | + new GeoField('geo_missing', '', false, false, true), |
| 138 | + new TextField( |
| 139 | + 'text_empty_missing', |
| 140 | + '', |
| 141 | + false, |
| 142 | + false, false, '', 1, false, true, true |
| 143 | + ), |
| 144 | + new TagField('tag_empty_missing', |
| 145 | + '', false, false, ',', false, true, true |
| 146 | + ), |
| 147 | + ]; |
| 148 | + |
| 149 | + $actualResponse = $redis->ftcreate('index', $schema); |
| 150 | + |
| 151 | + $this->assertEquals('OK', $actualResponse); |
| 152 | + } |
| 153 | + |
116 | 154 | public function argumentsProvider(): array |
117 | 155 | { |
118 | 156 | return [ |
|
0 commit comments