|
6 | 6 | use Ensi\LaravelElasticQuery\Concerns\SupportsPath; |
7 | 7 | use Ensi\LaravelElasticQuery\Contracts\BoolQuery; |
8 | 8 | use Ensi\LaravelElasticQuery\Contracts\Criteria; |
| 9 | +use Ensi\LaravelElasticQuery\Contracts\DSLAware; |
| 10 | +use Ensi\LaravelElasticQuery\Contracts\FunctionScoreItem; |
| 11 | +use Ensi\LaravelElasticQuery\Contracts\FunctionScoreOptions; |
9 | 12 | use Ensi\LaravelElasticQuery\Contracts\MatchOptions; |
| 13 | +use Ensi\LaravelElasticQuery\Contracts\MoreLikeOptions; |
| 14 | +use Ensi\LaravelElasticQuery\Contracts\MoreLikeThis; |
10 | 15 | use Ensi\LaravelElasticQuery\Contracts\MultiMatchOptions; |
11 | 16 | use Ensi\LaravelElasticQuery\Contracts\WildcardOptions; |
12 | 17 | use Ensi\LaravelElasticQuery\Filtering\Criterias\Exists; |
| 18 | +use Ensi\LaravelElasticQuery\Filtering\Criterias\FunctionScore; |
| 19 | +use Ensi\LaravelElasticQuery\Filtering\Criterias\MoreLike; |
13 | 20 | use Ensi\LaravelElasticQuery\Filtering\Criterias\MultiMatch; |
14 | 21 | use Ensi\LaravelElasticQuery\Filtering\Criterias\Nested; |
15 | 22 | use Ensi\LaravelElasticQuery\Filtering\Criterias\OneMatch; |
@@ -245,6 +252,25 @@ protected function makeWildcard(string $field, string $query, ?WildcardOptions $ |
245 | 252 | return new Wildcard($this->absolutePath($field), $query, $options ?: new WildcardOptions()); |
246 | 253 | } |
247 | 254 |
|
| 255 | + public function whereMoreLikeThis(array $fields, MoreLikeThis $likeThis, ?MoreLikeOptions $options = null): static |
| 256 | + { |
| 257 | + $this->must->add(new MoreLike($fields, $likeThis, $options)); |
| 258 | + |
| 259 | + return $this; |
| 260 | + } |
| 261 | + |
| 262 | + /** |
| 263 | + * @param array<FunctionScoreItem> $functions |
| 264 | + * @param ?DSLAware $query |
| 265 | + * @param ?FunctionScoreOptions $options |
| 266 | + */ |
| 267 | + public function addFunctionScore(array $functions, ?DSLAware $query = null, ?FunctionScoreOptions $options = null): static |
| 268 | + { |
| 269 | + $this->should->add(new FunctionScore($functions, $query, $options)); |
| 270 | + |
| 271 | + return $this; |
| 272 | + } |
| 273 | + |
248 | 274 | public function addMustBool(callable $fn): static |
249 | 275 | { |
250 | 276 | $this->must->add(static::make(builder: $fn)); |
|
0 commit comments