UNPKG

meilisearch

Version:

The Meilisearch JS client for Node.js and the browser.

70 lines (61 loc) 1.97 kB
import type { Locale, ResourceQuery, ResourceResults } from "./types.js"; type IndexFieldToggle = { enabled: boolean; }; type IndexFieldRankingRule = { enabled: boolean; order?: "asc" | "desc"; }; type IndexFieldFilterable = { enabled: boolean; sortBy?: "alpha" | "count"; facetSearch?: boolean; equality?: boolean; comparison?: boolean; }; type IndexFieldLocalized = { locales: Locale[]; }; /** * Represents a single field in the index with its capabilities and * configuration. */ export type IndexField = { name: string; displayed?: IndexFieldToggle; searchable?: IndexFieldToggle; sortable?: IndexFieldToggle; distinct?: IndexFieldToggle; rankingRule?: IndexFieldRankingRule; filterable?: IndexFieldFilterable; localized?: IndexFieldLocalized; }; /** * Filter configuration for querying fields. * * When multiple filters are used, they are combined with a logical AND. * * - AttributePatterns: Match fields using attribute patterns (supports wildcards) * - Displayed: true = only displayed fields, false = only hidden fields * - Searchable: true = only searchable fields, false = only non-searchable fields * - Sortable: true = only sortable fields, false = only non-sortable fields * - Distinct: true = only the distinct field, false = only non-distinct fields * - RankingRule: true = only fields used in ranking, false = only fields not used * in ranking * - Filterable: true = only filterable fields, false = only non-filterable fields */ export type FieldsFilter = { attributePatterns?: string[]; displayed?: boolean; searchable?: boolean; sortable?: boolean; distinct?: boolean; rankingRule?: boolean; filterable?: boolean; }; /** Query parameters for retrieving fields from an index. */ export type FieldsQuery = ResourceQuery & { filter?: FieldsFilter; }; /** Paginated fields response (results, offset, limit, total). */ export type FieldsResults = ResourceResults<IndexField[]>;