Skip to content

Commit 04670e6

Browse files
algolia-botClaraMullermillotp
committed
feat(specs): add facets query parameter available at run time (generated)
algolia/api-clients-automation#5486 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Clara Muller <[email protected]> Co-authored-by: Pierre Millot <[email protected]>
1 parent 454d50d commit 04670e6

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

algoliasearch/composition/models/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,14 @@
5252
from .facet_hits import FacetHits
5353
from .facet_ordering import FacetOrdering
5454
from .facet_stats import FacetStats
55-
from .facets import Facets
5655
from .get_task_response import GetTaskResponse
5756
from .highlight_result import HighlightResult
5857
from .highlight_result_option import HighlightResultOption
5958
from .hit import Hit
6059
from .hit_metadata import HitMetadata
6160
from .hit_ranking_info import HitRankingInfo
6261
from .ignore_plurals import IgnorePlurals
62+
from .index_settings_facets import IndexSettingsFacets
6363
from .injected_item import InjectedItem
6464
from .injected_item_hits_metadata import InjectedItemHitsMetadata
6565
from .injected_item_metadata import InjectedItemMetadata
@@ -163,14 +163,14 @@
163163
"FacetHits",
164164
"FacetOrdering",
165165
"FacetStats",
166-
"Facets",
167166
"GetTaskResponse",
168167
"HighlightResult",
169168
"HighlightResultOption",
170169
"Hit",
171170
"HitMetadata",
172171
"HitRankingInfo",
173172
"IgnorePlurals",
173+
"IndexSettingsFacets",
174174
"InjectedItem",
175175
"InjectedItemHitsMetadata",
176176
"InjectedItemMetadata",

algoliasearch/composition/models/facet_ordering.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from typing_extensions import Self
1919

2020

21-
from algoliasearch.composition.models.facets import Facets
21+
from algoliasearch.composition.models.index_settings_facets import IndexSettingsFacets
2222
from algoliasearch.composition.models.value import Value
2323

2424
_ALIASES = {
@@ -36,7 +36,7 @@ class FacetOrdering(BaseModel):
3636
Order of facet names and facet values in your UI.
3737
"""
3838

39-
facets: Optional[Facets] = None
39+
facets: Optional[IndexSettingsFacets] = None
4040
values: Optional[Dict[str, Value]] = None
4141
""" Order of facet values. One object for each facet. """
4242

@@ -76,7 +76,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
7676
return cls.model_validate(obj)
7777

7878
obj["facets"] = (
79-
Facets.from_dict(obj["facets"]) if obj.get("facets") is not None else None
79+
IndexSettingsFacets.from_dict(obj["facets"])
80+
if obj.get("facets") is not None
81+
else None
8082
)
8183
obj["values"] = (
8284
dict((_k, Value.from_dict(_v)) for _k, _v in obj["values"].items())

algoliasearch/composition/models/facets.py renamed to algoliasearch/composition/models/index_settings_facets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def _alias_generator(name: str) -> str:
2727
return _ALIASES.get(name, name)
2828

2929

30-
class Facets(BaseModel):
30+
class IndexSettingsFacets(BaseModel):
3131
"""
3232
Order of facet names.
3333
"""
@@ -50,7 +50,7 @@ def to_json(self) -> str:
5050

5151
@classmethod
5252
def from_json(cls, json_str: str) -> Optional[Self]:
53-
"""Create an instance of Facets from a JSON string"""
53+
"""Create an instance of IndexSettingsFacets from a JSON string"""
5454
return cls.from_dict(loads(json_str))
5555

5656
def to_dict(self) -> Dict[str, Any]:
@@ -63,7 +63,7 @@ def to_dict(self) -> Dict[str, Any]:
6363

6464
@classmethod
6565
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
66-
"""Create an instance of Facets from a dict"""
66+
"""Create an instance of IndexSettingsFacets from a dict"""
6767
if obj is None:
6868
return None
6969

algoliasearch/composition/models/params.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"page": "page",
3434
"get_ranking_info": "getRankingInfo",
3535
"relevancy_strictness": "relevancyStrictness",
36+
"facets": "facets",
3637
"facet_filters": "facetFilters",
3738
"optional_filters": "optionalFilters",
3839
"numeric_filters": "numericFilters",
@@ -77,6 +78,8 @@ class Params(BaseModel):
7778
""" Whether the run response should include detailed ranking information. """
7879
relevancy_strictness: Optional[int] = None
7980
""" Relevancy threshold below which less relevant results aren't included in the results You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas). Use this setting to strike a balance between the relevance and number of returned results. """
81+
facets: Optional[List[str]] = None
82+
""" Facets for which to retrieve facet values that match the search criteria and the number of matching facet values To retrieve all facets, use the wildcard character `*`. For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts). """
8083
facet_filters: Optional[FacetFilters] = None
8184
optional_filters: Optional[OptionalFilters] = None
8285
numeric_filters: Optional[NumericFilters] = None

0 commit comments

Comments
 (0)