CasperSecurity

Current Path : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Contracts/
Upload File :
Current File : /var/www/orientalss.com/vendor/meilisearch/meilisearch-php/src/Contracts/SearchQuery.php

<?php

declare(strict_types=1);

namespace Meilisearch\Contracts;

class SearchQuery
{
    /**
     * @var non-empty-string|null
     */
    private ?string $indexUid = null;

    private ?string $q = null;

    /**
     * @var list<non-empty-string|list<non-empty-string>>|null
     */
    private ?array $filter = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $locales = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $attributesToRetrieve = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $attributesToCrop = null;

    /**
     * @var positive-int|null
     */
    private ?int $cropLength = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $attributesToHighlight = null;

    private ?string $cropMarker = null;

    private ?string $highlightPreTag = null;

    private ?string $highlightPostTag = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $facets = null;

    private ?bool $showMatchesPosition = null;

    /**
     * @var list<non-empty-string>|null
     */
    private ?array $sort = null;

    /**
     * @var 'last'|'all'|'frequency'|null
     */
    private ?string $matchingStrategy = null;

    /**
     * @var non-negative-int|null
     */
    private ?int $offset = null;

    /**
     * @var non-negative-int|null
     */
    private ?int $limit = null;

    /**
     * @var non-negative-int|null
     */
    private ?int $hitsPerPage = null;

    /**
     * @var non-negative-int|null
     */
    private ?int $page = null;

    /**
     * @var non-empty-list<float|non-empty-list<float>>|null
     */
    private ?array $vector = null;

    private ?HybridSearchOptions $hybrid = null;

    /**
     * @var non-empty-list<non-empty-string>|null
     */
    private ?array $attributesToSearchOn = null;

    private ?bool $showRankingScore = null;

    private ?bool $showRankingScoreDetails = null;

    private ?float $rankingScoreThreshold = null;

    /**
     * @var non-empty-string|null
     */
    private ?string $distinct = null;

    private ?FederationOptions $federationOptions = null;

    /**
     * @return $this
     */
    public function setQuery(string $q): self
    {
        $this->q = $q;

        return $this;
    }

    /**
     * @param list<non-empty-string|list<non-empty-string>> $filter
     *
     * @return $this
     */
    public function setFilter(array $filter): self
    {
        $this->filter = $filter;

        return $this;
    }

    /**
     * @param list<non-empty-string> $locales
     *
     * @return $this
     */
    public function setLocales(array $locales): self
    {
        $this->locales = $locales;

        return $this;
    }

    /**
     * @return $this
     */
    public function setAttributesToRetrieve(array $attributesToRetrieve): self
    {
        $this->attributesToRetrieve = $attributesToRetrieve;

        return $this;
    }

    /**
     * @return $this
     */
    public function setAttributesToCrop(array $attributesToCrop): self
    {
        $this->attributesToCrop = $attributesToCrop;

        return $this;
    }

    /**
     * @param positive-int|null $cropLength
     *
     * @return $this
     */
    public function setCropLength(?int $cropLength): self
    {
        $this->cropLength = $cropLength;

        return $this;
    }

    /**
     * @param list<non-empty-string> $attributesToHighlight
     *
     * @return $this
     */
    public function setAttributesToHighlight(array $attributesToHighlight): self
    {
        $this->attributesToHighlight = $attributesToHighlight;

        return $this;
    }

    /**
     * @return $this
     */
    public function setCropMarker(string $cropMarker): self
    {
        $this->cropMarker = $cropMarker;

        return $this;
    }

    /**
     * @return $this
     */
    public function setHighlightPreTag(string $highlightPreTag): self
    {
        $this->highlightPreTag = $highlightPreTag;

        return $this;
    }

    /**
     * @return $this
     */
    public function setHighlightPostTag(string $highlightPostTag): self
    {
        $this->highlightPostTag = $highlightPostTag;

        return $this;
    }

    /**
     * @param list<non-empty-string> $facets
     *
     * @return $this
     */
    public function setFacets(array $facets): self
    {
        $this->facets = $facets;

        return $this;
    }

    /**
     * @return $this
     */
    public function setShowMatchesPosition(?bool $showMatchesPosition): self
    {
        $this->showMatchesPosition = $showMatchesPosition;

        return $this;
    }

    /**
     * @return $this
     */
    public function setShowRankingScore(?bool $showRankingScore): self
    {
        $this->showRankingScore = $showRankingScore;

        return $this;
    }

    /**
     * This is an EXPERIMENTAL feature, which may break without a major version.
     * It's available after Meilisearch v1.3.
     * To enable it properly and use ranking scoring details its required to opt-in through the /experimental-features route.
     *
     * More info: https://www.meilisearch.com/docs/reference/api/experimental-features
     *
     * @param bool $showRankingScoreDetails whether the feature is enabled or not
     *
     * @return $this
     */
    public function setShowRankingScoreDetails(?bool $showRankingScoreDetails): self
    {
        $this->showRankingScoreDetails = $showRankingScoreDetails;

        return $this;
    }

    /**
     * @return $this
     */
    public function setRankingScoreThreshold(?float $rankingScoreThreshold): self
    {
        $this->rankingScoreThreshold = $rankingScoreThreshold;

        return $this;
    }

    /**
     * @param non-empty-string|null $distinct
     *
     * @return $this
     */
    public function setDistinct(?string $distinct): self
    {
        $this->distinct = $distinct;

        return $this;
    }

    /**
     * @return $this
     */
    public function setSort(array $sort): self
    {
        $this->sort = $sort;

        return $this;
    }

    /**
     * @param 'last'|'all'|'frequency' $matchingStrategy
     *
     * @return $this
     */
    public function setMatchingStrategy(string $matchingStrategy): self
    {
        $this->matchingStrategy = $matchingStrategy;

        return $this;
    }

    /**
     * @param non-negative-int|null $offset
     *
     * @return $this
     */
    public function setOffset(?int $offset): self
    {
        $this->offset = $offset;

        return $this;
    }

    /**
     * @param non-negative-int|null $limit
     *
     * @return $this
     */
    public function setLimit(?int $limit): self
    {
        $this->limit = $limit;

        return $this;
    }

    /**
     * @param non-negative-int|null $hitsPerPage
     *
     * @return $this
     */
    public function setHitsPerPage(?int $hitsPerPage): self
    {
        $this->hitsPerPage = $hitsPerPage;

        return $this;
    }

    /**
     * @return $this
     */
    public function setPage(?int $page): self
    {
        $this->page = $page;

        return $this;
    }

    /**
     * @return $this
     */
    public function setIndexUid(string $uid): self
    {
        $this->indexUid = $uid;

        return $this;
    }

    /**
     * This option is only available while doing a federated search.
     * If used in another context an error will be returned by Meilisearch.
     *
     * @return $this
     */
    public function setFederationOptions(FederationOptions $federationOptions): self
    {
        $this->federationOptions = $federationOptions;

        return $this;
    }

    /**
     * This is an EXPERIMENTAL feature, which may break without a major version.
     * It's available from Meilisearch v1.3.
     * To enable it properly and use vector store capabilities it's required to activate it through the /experimental-features route.
     *
     * More info: https://www.meilisearch.com/docs/reference/api/experimental-features
     *
     * @param non-empty-list<float|non-empty-list<float>> $vector a multi-level array floats
     *
     * @return $this
     */
    public function setVector(array $vector): self
    {
        $this->vector = $vector;

        return $this;
    }

    /**
     * This is an EXPERIMENTAL feature, which may break without a major version.
     *
     * Set hybrid search options
     * (new HybridSearchOptions())
     *     ->setSemanticRatio(0.8)
     *     ->setEmbedder('manual');
     *
     * @return $this
     */
    public function setHybrid(HybridSearchOptions $hybridOptions): self
    {
        $this->hybrid = $hybridOptions;

        return $this;
    }

    /**
     * @param non-empty-list<non-empty-string> $attributesToSearchOn
     *
     * @return $this
     */
    public function setAttributesToSearchOn(array $attributesToSearchOn): self
    {
        $this->attributesToSearchOn = $attributesToSearchOn;

        return $this;
    }

    /**
     * @return array{
     *     indexUid?: non-empty-string,
     *     q?: string,
     *     filter?: list<non-empty-string|list<non-empty-string>>,
     *     locales?: list<non-empty-string>,
     *     attributesToRetrieve?: list<non-empty-string>,
     *     attributesToCrop?: list<non-empty-string>,
     *     cropLength?: positive-int,
     *     attributesToHighlight?: list<non-empty-string>,
     *     cropMarker?: string,
     *     highlightPreTag?: string,
     *     highlightPostTag?: string,
     *     facets?: list<non-empty-string>,
     *     showMatchesPosition?: bool,
     *     sort?: list<non-empty-string>,
     *     matchingStrategy?: 'last'|'all'|'frequency',
     *     offset?: non-negative-int,
     *     limit?: non-negative-int,
     *     hitsPerPage?: non-negative-int,
     *     page?: non-negative-int,
     *     vector?: non-empty-list<float|non-empty-list<float>>,
     *     hybrid?: array<mixed>,
     *     attributesToSearchOn?: non-empty-list<non-empty-string>,
     *     showRankingScore?: bool,
     *     showRankingScoreDetails?: bool,
     *     rankingScoreThreshold?: float,
     *     distinct?: non-empty-string,
     *     federationOptions?: array<mixed>
     * }
     */
    public function toArray(): array
    {
        return array_filter([
            'indexUid' => $this->indexUid,
            'q' => $this->q,
            'filter' => $this->filter,
            'locales' => $this->locales,
            'attributesToRetrieve' => $this->attributesToRetrieve,
            'attributesToCrop' => $this->attributesToCrop,
            'cropLength' => $this->cropLength,
            'attributesToHighlight' => $this->attributesToHighlight,
            'cropMarker' => $this->cropMarker,
            'highlightPreTag' => $this->highlightPreTag,
            'highlightPostTag' => $this->highlightPostTag,
            'facets' => $this->facets,
            'showMatchesPosition' => $this->showMatchesPosition,
            'sort' => $this->sort,
            'matchingStrategy' => $this->matchingStrategy,
            'offset' => $this->offset,
            'limit' => $this->limit,
            'hitsPerPage' => $this->hitsPerPage,
            'page' => $this->page,
            'vector' => $this->vector,
            'hybrid' => null !== $this->hybrid ? $this->hybrid->toArray() : null,
            'attributesToSearchOn' => $this->attributesToSearchOn,
            'showRankingScore' => $this->showRankingScore,
            'showRankingScoreDetails' => $this->showRankingScoreDetails,
            'rankingScoreThreshold' => $this->rankingScoreThreshold,
            'distinct' => $this->distinct,
            'federationOptions' => null !== $this->federationOptions ? $this->federationOptions->toArray() : null,
        ], static function ($item) { return null !== $item; });
    }
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY