Files
animethemes-server/app/Scout/Elasticsearch/Api/Query/Wiki/Anime/SynonymQuery.php
T
2026-03-31 15:32:32 -03:00

33 lines
891 B
PHP

<?php
declare(strict_types=1);
namespace App\Scout\Elasticsearch\Api\Query\Wiki\Anime;
use App\Models\Wiki\Anime\AnimeSynonym;
use App\Scout\Criteria;
use App\Scout\Elasticsearch\Api\Query\ElasticQuery;
use Elastic\ScoutDriverPlus\Builders\SearchParametersBuilder;
use Elastic\ScoutDriverPlus\Support\Query;
class SynonymQuery extends ElasticQuery
{
public function build(Criteria $criteria): SearchParametersBuilder
{
$query = Query::bool()
->mustRaw([
'dis_max' => [
'queries' => [
[
'bool' => [
'should' => $this->createTextQuery('text', $criteria->getTerm()),
],
],
],
],
]);
return AnimeSynonym::searchQuery($query);
}
}