Models settings
Settings Models
These are the models used when getting and updating index settings. MeilisearchSettings holds
all of the settings for an index and is what get_settings returns and update_settings accepts.
The remaining models are the values used within it, for example the embedder models are used to
configure vector search.
Settings Models API
meilisearch_python_sdk.models.settings
MinWordSizeForTypos
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class MinWordSizeForTypos(CamelBase):
one_typo: int | None = None
two_typos: int | None = None
|
one_typo
class-attribute
instance-attribute
one_typo: int | None = None
two_typos
class-attribute
instance-attribute
two_typos: int | None = None
TypoTolerance
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class TypoTolerance(CamelBase):
enabled: bool = True
disable_on_attributes: list[str] | None = None
disable_on_words: list[str] | None = None
disable_on_numbers: bool | None = None
min_word_size_for_typos: MinWordSizeForTypos | None = None
|
enabled
class-attribute
instance-attribute
disable_on_attributes
class-attribute
instance-attribute
disable_on_attributes: list[str] | None = None
disable_on_words
class-attribute
instance-attribute
disable_on_words: list[str] | None = None
disable_on_numbers
class-attribute
instance-attribute
disable_on_numbers: bool | None = None
min_word_size_for_typos
class-attribute
instance-attribute
min_word_size_for_typos: MinWordSizeForTypos | None = None
Faceting
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class Faceting(CamelBase):
max_values_per_facet: int
sort_facet_values_by: dict[str, str] | None = None
@field_validator("sort_facet_values_by") # type: ignore[attr-defined]
@classmethod
def validate_facet_order(cls, v: dict[str, str] | None) -> dict[str, str] | None:
if not v: # pragma: no cover
return None
for _, value in v.items():
if value not in ("alpha", "count"):
raise ValueError('facet_order must be either "alpha" or "count"')
return v
|
max_values_per_facet
instance-attribute
max_values_per_facet: int
sort_facet_values_by
class-attribute
instance-attribute
sort_facet_values_by: dict[str, str] | None = None
validate_facet_order
classmethod
validate_facet_order(
v: dict[str, str] | None,
) -> dict[str, str] | None
Source code in meilisearch_python_sdk/models/settings.py
| @field_validator("sort_facet_values_by") # type: ignore[attr-defined]
@classmethod
def validate_facet_order(cls, v: dict[str, str] | None) -> dict[str, str] | None:
if not v: # pragma: no cover
return None
for _, value in v.items():
if value not in ("alpha", "count"):
raise ValueError('facet_order must be either "alpha" or "count"')
return v
|
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class Pagination(CamelBase):
max_total_hits: int
|
Distribution
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class Distribution(CamelBase):
mean: float
sigma: float
|
OpenAiEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class OpenAiEmbedder(CamelBase):
source: str = "openAi"
url: str | None = None
model: str | None = None
dimensions: int | None = None
api_key: str | None = None
document_template: str | None = None
document_template_max_bytes: int | None = None
distribution: Distribution | None = None
binary_quantized: bool | None = None
|
source
class-attribute
instance-attribute
url
class-attribute
instance-attribute
model
class-attribute
instance-attribute
dimensions
class-attribute
instance-attribute
dimensions: int | None = None
api_key
class-attribute
instance-attribute
api_key: str | None = None
document_template
class-attribute
instance-attribute
document_template: str | None = None
document_template_max_bytes
class-attribute
instance-attribute
document_template_max_bytes: int | None = None
distribution
class-attribute
instance-attribute
distribution: Distribution | None = None
binary_quantized
class-attribute
instance-attribute
binary_quantized: bool | None = None
HuggingFaceEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class HuggingFaceEmbedder(CamelBase):
source: str = "huggingFace"
model: str | None = None
revision: str | None = None
document_template: str | None = None
document_template_max_bytes: int | None = None
distribution: Distribution | None = None
dimensions: int | None = None
binary_quantized: bool | None = None
pooling: Literal["useModel", "forceMean", "forceCls"] | None = None
|
source
class-attribute
instance-attribute
source: str = 'huggingFace'
model
class-attribute
instance-attribute
revision
class-attribute
instance-attribute
revision: str | None = None
document_template
class-attribute
instance-attribute
document_template: str | None = None
document_template_max_bytes
class-attribute
instance-attribute
document_template_max_bytes: int | None = None
distribution
class-attribute
instance-attribute
distribution: Distribution | None = None
dimensions
class-attribute
instance-attribute
dimensions: int | None = None
binary_quantized
class-attribute
instance-attribute
binary_quantized: bool | None = None
pooling
class-attribute
instance-attribute
pooling: (
Literal["useModel", "forceMean", "forceCls"] | None
) = None
OllamaEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class OllamaEmbedder(CamelBase):
source: str = "ollama"
url: str | None = None
api_key: str | None = None
model: str
dimensions: int | None = None
document_template: str | None = None
document_template_max_bytes: int | None = None
distribution: Distribution | None = None
binary_quantized: bool | None = None
|
source
class-attribute
instance-attribute
url
class-attribute
instance-attribute
api_key
class-attribute
instance-attribute
api_key: str | None = None
dimensions
class-attribute
instance-attribute
dimensions: int | None = None
document_template
class-attribute
instance-attribute
document_template: str | None = None
document_template_max_bytes
class-attribute
instance-attribute
document_template_max_bytes: int | None = None
distribution
class-attribute
instance-attribute
distribution: Distribution | None = None
binary_quantized
class-attribute
instance-attribute
binary_quantized: bool | None = None
RestEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class RestEmbedder(CamelBase):
source: str = "rest"
url: str
api_key: str | None = None
dimensions: int
document_template: str | None = None
document_template_max_bytes: int | None = None
distribution: Distribution | None = None
headers: JsonDict | None = None
request: JsonDict
response: JsonDict | list[Any]
binary_quantized: bool | None = None
indexing_fragments: JsonDict | None = None
search_fragment: JsonDict | None = None
@model_validator(mode="after")
def check_document_template(self) -> RestEmbedder:
if self.indexing_fragments is not None and self.document_template is not None:
raise ValueError("document_template must be None when indexing_fragments is set")
return self
|
source
class-attribute
instance-attribute
api_key
class-attribute
instance-attribute
api_key: str | None = None
dimensions
instance-attribute
document_template
class-attribute
instance-attribute
document_template: str | None = None
document_template_max_bytes
class-attribute
instance-attribute
document_template_max_bytes: int | None = None
distribution
class-attribute
instance-attribute
distribution: Distribution | None = None
headers: JsonDict | None = None
request
instance-attribute
response
instance-attribute
response: JsonDict | list[Any]
binary_quantized
class-attribute
instance-attribute
binary_quantized: bool | None = None
indexing_fragments
class-attribute
instance-attribute
indexing_fragments: JsonDict | None = None
search_fragment
class-attribute
instance-attribute
search_fragment: JsonDict | None = None
check_document_template
check_document_template() -> RestEmbedder
Source code in meilisearch_python_sdk/models/settings.py
| @model_validator(mode="after")
def check_document_template(self) -> RestEmbedder:
if self.indexing_fragments is not None and self.document_template is not None:
raise ValueError("document_template must be None when indexing_fragments is set")
return self
|
UserProvidedEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class UserProvidedEmbedder(CamelBase):
source: str = "userProvided"
dimensions: int
distribution: Distribution | None = None
document_template: str | None = None
document_template_max_bytes: int | None = None
binary_quantized: bool | None = None
|
source
class-attribute
instance-attribute
source: str = 'userProvided'
dimensions
instance-attribute
distribution
class-attribute
instance-attribute
distribution: Distribution | None = None
document_template
class-attribute
instance-attribute
document_template: str | None = None
document_template_max_bytes
class-attribute
instance-attribute
document_template_max_bytes: int | None = None
binary_quantized
class-attribute
instance-attribute
binary_quantized: bool | None = None
CompositeEmbedder
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class CompositeEmbedder(CamelBase):
source: str = "composite"
search_embedder: (
OpenAiEmbedder | HuggingFaceEmbedder | OllamaEmbedder | RestEmbedder | UserProvidedEmbedder
)
indexing_embedder: (
OpenAiEmbedder | HuggingFaceEmbedder | OllamaEmbedder | RestEmbedder | UserProvidedEmbedder
)
|
source
class-attribute
instance-attribute
source: str = 'composite'
search_embedder
instance-attribute
search_embedder: (
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
)
indexing_embedder
instance-attribute
indexing_embedder: (
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
)
Embedders
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class Embedders(CamelBase):
embedders: dict[
str,
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
| CompositeEmbedder,
]
|
embedders
instance-attribute
embedders: dict[
str,
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
| CompositeEmbedder,
]
ProximityPrecision
Bases: str, Enum
Source code in meilisearch_python_sdk/models/settings.py
| class ProximityPrecision(str, Enum):
BY_WORD = "byWord"
BY_ATTRIBUTE = "byAttribute"
|
BY_WORD
class-attribute
instance-attribute
BY_ATTRIBUTE
class-attribute
instance-attribute
BY_ATTRIBUTE = 'byAttribute'
LocalizedAttributes
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class LocalizedAttributes(CamelBase):
locales: list[str]
attribute_patterns: list[str]
|
locales
instance-attribute
attribute_patterns
instance-attribute
attribute_patterns: list[str]
Filter
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class Filter(CamelBase):
equality: bool
comparison: bool
|
equality
instance-attribute
comparison
instance-attribute
FilterableAttributeFeatures
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class FilterableAttributeFeatures(CamelBase):
facet_search: bool
filter: Filter
|
facet_search
instance-attribute
filter
instance-attribute
FilterableAttributes
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class FilterableAttributes(CamelBase):
attribute_patterns: list[str]
features: FilterableAttributeFeatures
|
attribute_patterns
instance-attribute
attribute_patterns: list[str]
features
instance-attribute
features: FilterableAttributeFeatures
ForeignKey
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class ForeignKey(CamelBase):
foreign_index_uid: str
field_name: str
|
foreign_index_uid
instance-attribute
field_name
instance-attribute
MeilisearchSettings
Bases: CamelBase
Source code in meilisearch_python_sdk/models/settings.py
| class MeilisearchSettings(CamelBase):
synonyms: JsonDict | None = None
stop_words: list[str] | None = None
ranking_rules: list[str] | None = None
filterable_attributes: list[str | FilterableAttributes] | None = None
distinct_attribute: str | None = None
searchable_attributes: list[str] | None = None
displayed_attributes: list[str] | None = None
sortable_attributes: list[str] | None = None
typo_tolerance: TypoTolerance | None = None
faceting: Faceting | None = None
pagination: Pagination | None = None
proximity_precision: ProximityPrecision | None = None
separator_tokens: list[str] | None = None
non_separator_tokens: list[str] | None = None
search_cutoff_ms: int | None = None
dictionary: list[str] | None = None
embedders: (
dict[
str,
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
| CompositeEmbedder,
]
| None
) = None # Optional[Embedders] = None
localized_attributes: list[LocalizedAttributes] | None = None
facet_search: bool | None = None
prefix_search: Literal["disabled", "indexingTime", "searchTime"] | None = None
foreign_keys: list[ForeignKey] | None = None
|
synonyms
class-attribute
instance-attribute
synonyms: JsonDict | None = None
stop_words
class-attribute
instance-attribute
stop_words: list[str] | None = None
ranking_rules
class-attribute
instance-attribute
ranking_rules: list[str] | None = None
filterable_attributes
class-attribute
instance-attribute
filterable_attributes: (
list[str | FilterableAttributes] | None
) = None
distinct_attribute
class-attribute
instance-attribute
distinct_attribute: str | None = None
searchable_attributes
class-attribute
instance-attribute
searchable_attributes: list[str] | None = None
displayed_attributes
class-attribute
instance-attribute
displayed_attributes: list[str] | None = None
sortable_attributes
class-attribute
instance-attribute
sortable_attributes: list[str] | None = None
typo_tolerance
class-attribute
instance-attribute
typo_tolerance: TypoTolerance | None = None
faceting
class-attribute
instance-attribute
faceting: Faceting | None = None
pagination: Pagination | None = None
proximity_precision
class-attribute
instance-attribute
proximity_precision: ProximityPrecision | None = None
separator_tokens
class-attribute
instance-attribute
separator_tokens: list[str] | None = None
non_separator_tokens
class-attribute
instance-attribute
non_separator_tokens: list[str] | None = None
search_cutoff_ms
class-attribute
instance-attribute
search_cutoff_ms: int | None = None
dictionary
class-attribute
instance-attribute
dictionary: list[str] | None = None
embedders
class-attribute
instance-attribute
embedders: (
dict[
str,
OpenAiEmbedder
| HuggingFaceEmbedder
| OllamaEmbedder
| RestEmbedder
| UserProvidedEmbedder
| CompositeEmbedder,
]
| None
) = None
localized_attributes
class-attribute
instance-attribute
localized_attributes: list[LocalizedAttributes] | None = (
None
)
facet_search
class-attribute
instance-attribute
facet_search: bool | None = None
prefix_search
class-attribute
instance-attribute
prefix_search: (
Literal["disabled", "indexingTime", "searchTime"] | None
) = None
foreign_keys
class-attribute
instance-attribute
foreign_keys: list[ForeignKey] | None = None