diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInput.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInput.cs
index 595953151c..57169ecaf2 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInput.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInput.cs
@@ -84,7 +84,7 @@ public AuthInput(AuthAlgoliaInsights actualInstance)
/// Initializes a new instance of the AuthInput class
/// with a Dictionary{string, string}
///
- /// An instance of Dictionary<string, string>.
+ /// An instance of Dictionary.
public AuthInput(Dictionary actualInstance)
{
ActualInstance = actualInstance;
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInputPartial.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInputPartial.cs
index 31a178c43d..a7b3ebd507 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInputPartial.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Ingestion/AuthInputPartial.cs
@@ -84,7 +84,7 @@ public AuthInputPartial(AuthAlgoliaInsightsPartial actualInstance)
/// Initializes a new instance of the AuthInputPartial class
/// with a Dictionary{string, string}
///
- /// An instance of Dictionary<string, string>.
+ /// An instance of Dictionary.
public AuthInputPartial(Dictionary actualInstance)
{
ActualInstance = actualInstance;
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/QuerySuggestions/Languages.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/QuerySuggestions/Languages.cs
index 6c1903f010..937a88df3b 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/QuerySuggestions/Languages.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/QuerySuggestions/Languages.cs
@@ -24,7 +24,7 @@ public partial class Languages : AbstractSchema
/// Initializes a new instance of the Languages class
/// with a List{String}
///
- /// An instance of List<string>.
+ /// An instance of List.
public Languages(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/AroundPrecision.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/AroundPrecision.cs
index 16ce85dfd4..043f257423 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/AroundPrecision.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/AroundPrecision.cs
@@ -34,7 +34,7 @@ public AroundPrecision(int actualInstance)
/// Initializes a new instance of the AroundPrecision class
/// with a List{Range}
///
- /// An instance of List<Range>.
+ /// An instance of List.
public AroundPrecision(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FacetFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FacetFilters.cs
index a59ad0b297..34cb46f033 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FacetFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FacetFilters.cs
@@ -24,7 +24,7 @@ public partial class FacetFilters : AbstractSchema
/// Initializes a new instance of the FacetFilters class
/// with a List{FacetFilters}
///
- /// An instance of List<FacetFilters>.
+ /// An instance of List.
public FacetFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FallbackParams.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FallbackParams.cs
index 7b604ea892..c2cc4db404 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FallbackParams.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/FallbackParams.cs
@@ -141,11 +141,10 @@ public FallbackParams()
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -357,6 +356,13 @@ public FallbackParams()
[JsonPropertyName("attributeForDistinct")]
public string AttributeForDistinct { get; set; }
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ [JsonPropertyName("maxFacetHits")]
+ public int? MaxFacetHits { get; set; }
+
///
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
///
@@ -502,11 +508,10 @@ public FallbackParams()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -556,13 +561,6 @@ public FallbackParams()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -657,6 +655,7 @@ public override string ToString()
sb.Append(" UserData: ").Append(UserData).Append("\n");
sb.Append(" CustomNormalization: ").Append(CustomNormalization).Append("\n");
sb.Append(" AttributeForDistinct: ").Append(AttributeForDistinct).Append("\n");
+ sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" AttributesToRetrieve: ").Append(AttributesToRetrieve).Append("\n");
sb.Append(" Ranking: ").Append(Ranking).Append("\n");
sb.Append(" RelevancyStrictness: ").Append(RelevancyStrictness).Append("\n");
@@ -689,7 +688,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -737,7 +735,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -768,6 +766,7 @@ public override bool Equals(object obj)
(UserData == input.UserData || (UserData != null && UserData.Equals(input.UserData))) &&
(CustomNormalization == input.CustomNormalization || CustomNormalization != null && input.CustomNormalization != null && CustomNormalization.SequenceEqual(input.CustomNormalization)) &&
(AttributeForDistinct == input.AttributeForDistinct || (AttributeForDistinct != null && AttributeForDistinct.Equals(input.AttributeForDistinct))) &&
+ (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(AttributesToRetrieve == input.AttributesToRetrieve || AttributesToRetrieve != null && input.AttributesToRetrieve != null && AttributesToRetrieve.SequenceEqual(input.AttributesToRetrieve)) &&
(Ranking == input.Ranking || Ranking != null && input.Ranking != null && Ranking.SequenceEqual(input.Ranking)) &&
(RelevancyStrictness == input.RelevancyStrictness || RelevancyStrictness.Equals(input.RelevancyStrictness)) &&
@@ -791,7 +790,7 @@ public override bool Equals(object obj)
(QueryType == input.QueryType || QueryType.Equals(input.QueryType)) &&
(RemoveWordsIfNoResults == input.RemoveWordsIfNoResults || RemoveWordsIfNoResults.Equals(input.RemoveWordsIfNoResults)) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -800,7 +799,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -963,6 +961,7 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + AttributeForDistinct.GetHashCode();
}
+ hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
if (AttributesToRetrieve != null)
{
hashCode = (hashCode * 59) + AttributesToRetrieve.GetHashCode();
@@ -1049,7 +1048,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/HighlightResult.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/HighlightResult.cs
index 17c106918a..0b1ad18dc2 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/HighlightResult.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/HighlightResult.cs
@@ -34,7 +34,7 @@ public HighlightResult(HighlightResultOption actualInstance)
/// Initializes a new instance of the HighlightResult class
/// with a Dictionary{string, HighlightResult}
///
- /// An instance of Dictionary<string, HighlightResult>.
+ /// An instance of Dictionary.
public HighlightResult(Dictionary actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
@@ -44,7 +44,7 @@ public HighlightResult(Dictionary actualInstance)
/// Initializes a new instance of the HighlightResult class
/// with a List{HighlightResult}
///
- /// An instance of List<HighlightResult>.
+ /// An instance of List.
public HighlightResult(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/IgnorePlurals.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/IgnorePlurals.cs
index f7c39877f4..be85f3b396 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/IgnorePlurals.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/IgnorePlurals.cs
@@ -24,7 +24,7 @@ public partial class IgnorePlurals : AbstractSchema
/// Initializes a new instance of the IgnorePlurals class
/// with a List{SupportedLanguage}
///
- /// An instance of List<SupportedLanguage>.
+ /// An instance of List.
public IgnorePlurals(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/InsideBoundingBox.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/InsideBoundingBox.cs
new file mode 100644
index 0000000000..606d4d1834
--- /dev/null
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/InsideBoundingBox.cs
@@ -0,0 +1,217 @@
+//
+// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
+//
+using System;
+using System.Text;
+using System.Linq;
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Algolia.Search.Serializer;
+using System.Text.Json;
+using System.IO;
+using System.Reflection;
+using Algolia.Search.Models.Common;
+
+namespace Algolia.Search.Models.Recommend;
+
+///
+/// InsideBoundingBox
+///
+[JsonConverter(typeof(InsideBoundingBoxJsonConverter))]
+public partial class InsideBoundingBox : AbstractSchema
+{
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class.
+ ///
+ public InsideBoundingBox()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class
+ /// with a string
+ ///
+ /// An instance of string.
+ public InsideBoundingBox(string actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class
+ /// with a List{List{double}}
+ ///
+ /// An instance of List>.
+ public InsideBoundingBox(List> actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+
+ ///
+ /// Gets or Sets ActualInstance
+ ///
+ public sealed override object ActualInstance { get; set; }
+
+ ///
+ /// Get the actual instance of `string`. If the actual instance is not `string`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of string
+ public string AsString()
+ {
+ return (string)ActualInstance;
+ }
+
+ ///
+ /// Get the actual instance of `List{List{double}}`. If the actual instance is not `List{List{double}}`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of List<List<double>>
+ public List> AsListListDouble()
+ {
+ return (List>)ActualInstance;
+ }
+
+
+ ///
+ /// Check if the actual instance is of `string` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsString()
+ {
+ return ActualInstance.GetType() == typeof(string);
+ }
+
+ ///
+ /// Check if the actual instance is of `List{List{double}}` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsListListDouble()
+ {
+ return ActualInstance.GetType() == typeof(List>);
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class InsideBoundingBox {\n");
+ sb.Append(" ActualInstance: ").Append(ActualInstance).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(ActualInstance, JsonConfig.Options);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (obj is not InsideBoundingBox input)
+ {
+ return false;
+ }
+
+ return ActualInstance.Equals(input.ActualInstance);
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ if (ActualInstance != null)
+ hashCode = hashCode * 59 + ActualInstance.GetHashCode();
+ return hashCode;
+ }
+ }
+}
+
+
+
+
+
+///
+/// Custom JSON converter for InsideBoundingBox
+///
+public class InsideBoundingBoxJsonConverter : JsonConverter
+{
+
+ ///
+ /// Check if the object can be converted
+ ///
+ /// Object type
+ /// True if the object can be converted
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(InsideBoundingBox);
+ }
+
+ ///
+ /// To convert a JSON string into an object
+ ///
+ /// JSON reader
+ /// Object type
+ /// Serializer options
+ /// The object converted from the JSON string
+ public override InsideBoundingBox Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ var jsonDocument = JsonDocument.ParseValue(ref reader);
+ var root = jsonDocument.RootElement;
+ if (root.ValueKind == JsonValueKind.String)
+ {
+ try
+ {
+ return new InsideBoundingBox(jsonDocument.Deserialize(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into string: {exception}");
+ }
+ }
+ if (root.ValueKind == JsonValueKind.Array)
+ {
+ try
+ {
+ return new InsideBoundingBox(jsonDocument.Deserialize>>(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into List>: {exception}");
+ }
+ }
+ throw new InvalidDataException($"The JSON string cannot be deserialized into any schema defined.");
+ }
+
+ ///
+ /// To write the JSON string
+ ///
+ /// JSON writer
+ /// InsideBoundingBox to be converted into a JSON string
+ /// JSON Serializer options
+ public override void Write(Utf8JsonWriter writer, InsideBoundingBox value, JsonSerializerOptions options)
+ {
+ writer.WriteRawValue(value.ToJson());
+ }
+}
+
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/NumericFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/NumericFilters.cs
index 5212c2acee..dceb25e717 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/NumericFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/NumericFilters.cs
@@ -24,7 +24,7 @@ public partial class NumericFilters : AbstractSchema
/// Initializes a new instance of the NumericFilters class
/// with a List{NumericFilters}
///
- /// An instance of List<NumericFilters>.
+ /// An instance of List.
public NumericFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalFilters.cs
index c75fd29ffd..ddc3810d7e 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalFilters.cs
@@ -24,7 +24,7 @@ public partial class OptionalFilters : AbstractSchema
/// Initializes a new instance of the OptionalFilters class
/// with a List{OptionalFilters}
///
- /// An instance of List<OptionalFilters>.
+ /// An instance of List.
public OptionalFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalWords.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalWords.cs
new file mode 100644
index 0000000000..931347c357
--- /dev/null
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/OptionalWords.cs
@@ -0,0 +1,217 @@
+//
+// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
+//
+using System;
+using System.Text;
+using System.Linq;
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Algolia.Search.Serializer;
+using System.Text.Json;
+using System.IO;
+using System.Reflection;
+using Algolia.Search.Models.Common;
+
+namespace Algolia.Search.Models.Recommend;
+
+///
+/// OptionalWords
+///
+[JsonConverter(typeof(OptionalWordsJsonConverter))]
+public partial class OptionalWords : AbstractSchema
+{
+ ///
+ /// Initializes a new instance of the OptionalWords class.
+ ///
+ public OptionalWords()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the OptionalWords class
+ /// with a string
+ ///
+ /// An instance of string.
+ public OptionalWords(string actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+ ///
+ /// Initializes a new instance of the OptionalWords class
+ /// with a List{String}
+ ///
+ /// An instance of List.
+ public OptionalWords(List actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+
+ ///
+ /// Gets or Sets ActualInstance
+ ///
+ public sealed override object ActualInstance { get; set; }
+
+ ///
+ /// Get the actual instance of `string`. If the actual instance is not `string`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of string
+ public string AsString()
+ {
+ return (string)ActualInstance;
+ }
+
+ ///
+ /// Get the actual instance of `List{string}`. If the actual instance is not `List{string}`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of List<string>
+ public List AsListString()
+ {
+ return (List)ActualInstance;
+ }
+
+
+ ///
+ /// Check if the actual instance is of `string` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsString()
+ {
+ return ActualInstance.GetType() == typeof(string);
+ }
+
+ ///
+ /// Check if the actual instance is of `List{string}` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsListString()
+ {
+ return ActualInstance.GetType() == typeof(List);
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OptionalWords {\n");
+ sb.Append(" ActualInstance: ").Append(ActualInstance).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(ActualInstance, JsonConfig.Options);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (obj is not OptionalWords input)
+ {
+ return false;
+ }
+
+ return ActualInstance.Equals(input.ActualInstance);
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ if (ActualInstance != null)
+ hashCode = hashCode * 59 + ActualInstance.GetHashCode();
+ return hashCode;
+ }
+ }
+}
+
+
+
+
+
+///
+/// Custom JSON converter for OptionalWords
+///
+public class OptionalWordsJsonConverter : JsonConverter
+{
+
+ ///
+ /// Check if the object can be converted
+ ///
+ /// Object type
+ /// True if the object can be converted
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(OptionalWords);
+ }
+
+ ///
+ /// To convert a JSON string into an object
+ ///
+ /// JSON reader
+ /// Object type
+ /// Serializer options
+ /// The object converted from the JSON string
+ public override OptionalWords Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ var jsonDocument = JsonDocument.ParseValue(ref reader);
+ var root = jsonDocument.RootElement;
+ if (root.ValueKind == JsonValueKind.String)
+ {
+ try
+ {
+ return new OptionalWords(jsonDocument.Deserialize(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into string: {exception}");
+ }
+ }
+ if (root.ValueKind == JsonValueKind.Array)
+ {
+ try
+ {
+ return new OptionalWords(jsonDocument.Deserialize>(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into List: {exception}");
+ }
+ }
+ throw new InvalidDataException($"The JSON string cannot be deserialized into any schema defined.");
+ }
+
+ ///
+ /// To write the JSON string
+ ///
+ /// JSON writer
+ /// OptionalWords to be converted into a JSON string
+ /// JSON Serializer options
+ public override void Write(Utf8JsonWriter writer, OptionalWords value, JsonSerializerOptions options)
+ {
+ writer.WriteRawValue(value.ToJson());
+ }
+}
+
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/ReRankingApplyFilter.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/ReRankingApplyFilter.cs
index c63ad365ad..40c7a2ebbf 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/ReRankingApplyFilter.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/ReRankingApplyFilter.cs
@@ -24,7 +24,7 @@ public partial class ReRankingApplyFilter : AbstractSchema
/// Initializes a new instance of the ReRankingApplyFilter class
/// with a List{ReRankingApplyFilter}
///
- /// An instance of List<ReRankingApplyFilter>.
+ /// An instance of List.
public ReRankingApplyFilter(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RecommendSearchParams.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RecommendSearchParams.cs
index 4b9b09d77c..0aec27d752 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RecommendSearchParams.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RecommendSearchParams.cs
@@ -141,11 +141,10 @@ public RecommendSearchParams()
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -357,6 +356,13 @@ public RecommendSearchParams()
[JsonPropertyName("attributeForDistinct")]
public string AttributeForDistinct { get; set; }
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ [JsonPropertyName("maxFacetHits")]
+ public int? MaxFacetHits { get; set; }
+
///
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
///
@@ -502,11 +508,10 @@ public RecommendSearchParams()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -556,13 +561,6 @@ public RecommendSearchParams()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -657,6 +655,7 @@ public override string ToString()
sb.Append(" UserData: ").Append(UserData).Append("\n");
sb.Append(" CustomNormalization: ").Append(CustomNormalization).Append("\n");
sb.Append(" AttributeForDistinct: ").Append(AttributeForDistinct).Append("\n");
+ sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" AttributesToRetrieve: ").Append(AttributesToRetrieve).Append("\n");
sb.Append(" Ranking: ").Append(Ranking).Append("\n");
sb.Append(" RelevancyStrictness: ").Append(RelevancyStrictness).Append("\n");
@@ -689,7 +688,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -737,7 +735,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -768,6 +766,7 @@ public override bool Equals(object obj)
(UserData == input.UserData || (UserData != null && UserData.Equals(input.UserData))) &&
(CustomNormalization == input.CustomNormalization || CustomNormalization != null && input.CustomNormalization != null && CustomNormalization.SequenceEqual(input.CustomNormalization)) &&
(AttributeForDistinct == input.AttributeForDistinct || (AttributeForDistinct != null && AttributeForDistinct.Equals(input.AttributeForDistinct))) &&
+ (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(AttributesToRetrieve == input.AttributesToRetrieve || AttributesToRetrieve != null && input.AttributesToRetrieve != null && AttributesToRetrieve.SequenceEqual(input.AttributesToRetrieve)) &&
(Ranking == input.Ranking || Ranking != null && input.Ranking != null && Ranking.SequenceEqual(input.Ranking)) &&
(RelevancyStrictness == input.RelevancyStrictness || RelevancyStrictness.Equals(input.RelevancyStrictness)) &&
@@ -791,7 +790,7 @@ public override bool Equals(object obj)
(QueryType == input.QueryType || QueryType.Equals(input.QueryType)) &&
(RemoveWordsIfNoResults == input.RemoveWordsIfNoResults || RemoveWordsIfNoResults.Equals(input.RemoveWordsIfNoResults)) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -800,7 +799,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -963,6 +961,7 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + AttributeForDistinct.GetHashCode();
}
+ hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
if (AttributesToRetrieve != null)
{
hashCode = (hashCode * 59) + AttributesToRetrieve.GetHashCode();
@@ -1049,7 +1048,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RemoveStopWords.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RemoveStopWords.cs
index 1e8a5a4c40..cac7d18873 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RemoveStopWords.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/RemoveStopWords.cs
@@ -24,7 +24,7 @@ public partial class RemoveStopWords : AbstractSchema
/// Initializes a new instance of the RemoveStopWords class
/// with a List{SupportedLanguage}
///
- /// An instance of List<SupportedLanguage>.
+ /// An instance of List.
public RemoveStopWords(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/SnippetResult.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/SnippetResult.cs
index daf91fbbff..32036e8030 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/SnippetResult.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/SnippetResult.cs
@@ -34,7 +34,7 @@ public SnippetResult(SnippetResultOption actualInstance)
/// Initializes a new instance of the SnippetResult class
/// with a Dictionary{string, SnippetResult}
///
- /// An instance of Dictionary<string, SnippetResult>.
+ /// An instance of Dictionary.
public SnippetResult(Dictionary actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
@@ -44,7 +44,7 @@ public SnippetResult(Dictionary actualInstance)
/// Initializes a new instance of the SnippetResult class
/// with a List{SnippetResult}
///
- /// An instance of List<SnippetResult>.
+ /// An instance of List.
public SnippetResult(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/TagFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/TagFilters.cs
index dff0af969c..ecb3bba8f8 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/TagFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Recommend/TagFilters.cs
@@ -24,7 +24,7 @@ public partial class TagFilters : AbstractSchema
/// Initializes a new instance of the TagFilters class
/// with a List{TagFilters}
///
- /// An instance of List<TagFilters>.
+ /// An instance of List.
public TagFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AroundPrecision.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AroundPrecision.cs
index b90f59c6dd..5f14f3025d 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AroundPrecision.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AroundPrecision.cs
@@ -34,7 +34,7 @@ public AroundPrecision(int actualInstance)
/// Initializes a new instance of the AroundPrecision class
/// with a List{Range}
///
- /// An instance of List<Range>.
+ /// An instance of List.
public AroundPrecision(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AutomaticFacetFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AutomaticFacetFilters.cs
index bcf22977a4..0f1681c4c2 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AutomaticFacetFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/AutomaticFacetFilters.cs
@@ -24,7 +24,7 @@ public partial class AutomaticFacetFilters : AbstractSchema
/// Initializes a new instance of the AutomaticFacetFilters class
/// with a List{AutomaticFacetFilter}
///
- /// An instance of List<AutomaticFacetFilter>.
+ /// An instance of List.
public AutomaticFacetFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
@@ -34,7 +34,7 @@ public AutomaticFacetFilters(List actualInstance)
/// Initializes a new instance of the AutomaticFacetFilters class
/// with a List{String}
///
- /// An instance of List<string>.
+ /// An instance of List.
public AutomaticFacetFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/BrowseParamsObject.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/BrowseParamsObject.cs
index 242de00afc..a4a0ce9b2f 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/BrowseParamsObject.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/BrowseParamsObject.cs
@@ -175,11 +175,10 @@ public BrowseParamsObject()
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -437,11 +436,10 @@ public BrowseParamsObject()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -491,13 +489,6 @@ public BrowseParamsObject()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -622,7 +613,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -675,7 +665,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -716,7 +706,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -725,7 +715,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -930,7 +919,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ConsequenceParams.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ConsequenceParams.cs
index ec19bb64f2..149a6acc53 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ConsequenceParams.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ConsequenceParams.cs
@@ -168,11 +168,10 @@ public ConsequenceParams()
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -430,11 +429,10 @@ public ConsequenceParams()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -484,13 +482,6 @@ public ConsequenceParams()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -625,7 +616,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -679,7 +669,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -720,7 +710,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -729,7 +719,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -932,7 +921,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/DeleteByParams.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/DeleteByParams.cs
index 5de4f68750..32a9d48ac4 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/DeleteByParams.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/DeleteByParams.cs
@@ -62,11 +62,10 @@ public DeleteByParams()
public AroundRadius AroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -123,7 +122,7 @@ public override bool Equals(object obj)
(TagFilters == input.TagFilters || (TagFilters != null && TagFilters.Equals(input.TagFilters))) &&
(AroundLatLng == input.AroundLatLng || (AroundLatLng != null && AroundLatLng.Equals(input.AroundLatLng))) &&
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon));
}
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/FacetFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/FacetFilters.cs
index e6e96cfc69..8f3bf05175 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/FacetFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/FacetFilters.cs
@@ -24,7 +24,7 @@ public partial class FacetFilters : AbstractSchema
/// Initializes a new instance of the FacetFilters class
/// with a List{FacetFilters}
///
- /// An instance of List<FacetFilters>.
+ /// An instance of List.
public FacetFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/HighlightResult.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/HighlightResult.cs
index 3d0042a80d..709c71fa16 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/HighlightResult.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/HighlightResult.cs
@@ -34,7 +34,7 @@ public HighlightResult(HighlightResultOption actualInstance)
/// Initializes a new instance of the HighlightResult class
/// with a Dictionary{string, HighlightResult}
///
- /// An instance of Dictionary<string, HighlightResult>.
+ /// An instance of Dictionary.
public HighlightResult(Dictionary actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
@@ -44,7 +44,7 @@ public HighlightResult(Dictionary actualInstance)
/// Initializes a new instance of the HighlightResult class
/// with a List{HighlightResult}
///
- /// An instance of List<HighlightResult>.
+ /// An instance of List.
public HighlightResult(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IgnorePlurals.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IgnorePlurals.cs
index 92bb35af7c..dd8316457b 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IgnorePlurals.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IgnorePlurals.cs
@@ -24,7 +24,7 @@ public partial class IgnorePlurals : AbstractSchema
/// Initializes a new instance of the IgnorePlurals class
/// with a List{SupportedLanguage}
///
- /// An instance of List<SupportedLanguage>.
+ /// An instance of List.
public IgnorePlurals(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IndexSettings.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IndexSettings.cs
index cf3f5790e9..e540362c16 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IndexSettings.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/IndexSettings.cs
@@ -166,6 +166,13 @@ public IndexSettings()
[JsonPropertyName("attributeForDistinct")]
public string AttributeForDistinct { get; set; }
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ [JsonPropertyName("maxFacetHits")]
+ public int? MaxFacetHits { get; set; }
+
///
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
///
@@ -338,11 +345,10 @@ public IndexSettings()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -392,13 +398,6 @@ public IndexSettings()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -464,6 +463,7 @@ public override string ToString()
sb.Append(" UserData: ").Append(UserData).Append("\n");
sb.Append(" CustomNormalization: ").Append(CustomNormalization).Append("\n");
sb.Append(" AttributeForDistinct: ").Append(AttributeForDistinct).Append("\n");
+ sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" AttributesToRetrieve: ").Append(AttributesToRetrieve).Append("\n");
sb.Append(" Ranking: ").Append(Ranking).Append("\n");
sb.Append(" CustomRanking: ").Append(CustomRanking).Append("\n");
@@ -501,7 +501,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -551,6 +550,7 @@ public override bool Equals(object obj)
(UserData == input.UserData || (UserData != null && UserData.Equals(input.UserData))) &&
(CustomNormalization == input.CustomNormalization || CustomNormalization != null && input.CustomNormalization != null && CustomNormalization.SequenceEqual(input.CustomNormalization)) &&
(AttributeForDistinct == input.AttributeForDistinct || (AttributeForDistinct != null && AttributeForDistinct.Equals(input.AttributeForDistinct))) &&
+ (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(AttributesToRetrieve == input.AttributesToRetrieve || AttributesToRetrieve != null && input.AttributesToRetrieve != null && AttributesToRetrieve.SequenceEqual(input.AttributesToRetrieve)) &&
(Ranking == input.Ranking || Ranking != null && input.Ranking != null && Ranking.SequenceEqual(input.Ranking)) &&
(CustomRanking == input.CustomRanking || CustomRanking != null && input.CustomRanking != null && CustomRanking.SequenceEqual(input.CustomRanking)) &&
@@ -579,7 +579,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -588,7 +588,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -668,6 +667,7 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + AttributeForDistinct.GetHashCode();
}
+ hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
if (AttributesToRetrieve != null)
{
hashCode = (hashCode * 59) + AttributesToRetrieve.GetHashCode();
@@ -768,7 +768,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/InsideBoundingBox.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/InsideBoundingBox.cs
new file mode 100644
index 0000000000..2f76c9bcd6
--- /dev/null
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/InsideBoundingBox.cs
@@ -0,0 +1,217 @@
+//
+// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
+//
+using System;
+using System.Text;
+using System.Linq;
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Algolia.Search.Serializer;
+using System.Text.Json;
+using System.IO;
+using System.Reflection;
+using Algolia.Search.Models.Common;
+
+namespace Algolia.Search.Models.Search;
+
+///
+/// InsideBoundingBox
+///
+[JsonConverter(typeof(InsideBoundingBoxJsonConverter))]
+public partial class InsideBoundingBox : AbstractSchema
+{
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class.
+ ///
+ public InsideBoundingBox()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class
+ /// with a string
+ ///
+ /// An instance of string.
+ public InsideBoundingBox(string actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+ ///
+ /// Initializes a new instance of the InsideBoundingBox class
+ /// with a List{List{double}}
+ ///
+ /// An instance of List>.
+ public InsideBoundingBox(List> actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+
+ ///
+ /// Gets or Sets ActualInstance
+ ///
+ public sealed override object ActualInstance { get; set; }
+
+ ///
+ /// Get the actual instance of `string`. If the actual instance is not `string`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of string
+ public string AsString()
+ {
+ return (string)ActualInstance;
+ }
+
+ ///
+ /// Get the actual instance of `List{List{double}}`. If the actual instance is not `List{List{double}}`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of List<List<double>>
+ public List> AsListListDouble()
+ {
+ return (List>)ActualInstance;
+ }
+
+
+ ///
+ /// Check if the actual instance is of `string` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsString()
+ {
+ return ActualInstance.GetType() == typeof(string);
+ }
+
+ ///
+ /// Check if the actual instance is of `List{List{double}}` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsListListDouble()
+ {
+ return ActualInstance.GetType() == typeof(List>);
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class InsideBoundingBox {\n");
+ sb.Append(" ActualInstance: ").Append(ActualInstance).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(ActualInstance, JsonConfig.Options);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (obj is not InsideBoundingBox input)
+ {
+ return false;
+ }
+
+ return ActualInstance.Equals(input.ActualInstance);
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ if (ActualInstance != null)
+ hashCode = hashCode * 59 + ActualInstance.GetHashCode();
+ return hashCode;
+ }
+ }
+}
+
+
+
+
+
+///
+/// Custom JSON converter for InsideBoundingBox
+///
+public class InsideBoundingBoxJsonConverter : JsonConverter
+{
+
+ ///
+ /// Check if the object can be converted
+ ///
+ /// Object type
+ /// True if the object can be converted
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(InsideBoundingBox);
+ }
+
+ ///
+ /// To convert a JSON string into an object
+ ///
+ /// JSON reader
+ /// Object type
+ /// Serializer options
+ /// The object converted from the JSON string
+ public override InsideBoundingBox Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ var jsonDocument = JsonDocument.ParseValue(ref reader);
+ var root = jsonDocument.RootElement;
+ if (root.ValueKind == JsonValueKind.String)
+ {
+ try
+ {
+ return new InsideBoundingBox(jsonDocument.Deserialize(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into string: {exception}");
+ }
+ }
+ if (root.ValueKind == JsonValueKind.Array)
+ {
+ try
+ {
+ return new InsideBoundingBox(jsonDocument.Deserialize>>(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into List>: {exception}");
+ }
+ }
+ throw new InvalidDataException($"The JSON string cannot be deserialized into any schema defined.");
+ }
+
+ ///
+ /// To write the JSON string
+ ///
+ /// JSON writer
+ /// InsideBoundingBox to be converted into a JSON string
+ /// JSON Serializer options
+ public override void Write(Utf8JsonWriter writer, InsideBoundingBox value, JsonSerializerOptions options)
+ {
+ writer.WriteRawValue(value.ToJson());
+ }
+}
+
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/NumericFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/NumericFilters.cs
index ab62c4700d..d92b214088 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/NumericFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/NumericFilters.cs
@@ -24,7 +24,7 @@ public partial class NumericFilters : AbstractSchema
/// Initializes a new instance of the NumericFilters class
/// with a List{NumericFilters}
///
- /// An instance of List<NumericFilters>.
+ /// An instance of List.
public NumericFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalFilters.cs
index 5d87c043c2..4b82011b93 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalFilters.cs
@@ -24,7 +24,7 @@ public partial class OptionalFilters : AbstractSchema
/// Initializes a new instance of the OptionalFilters class
/// with a List{OptionalFilters}
///
- /// An instance of List<OptionalFilters>.
+ /// An instance of List.
public OptionalFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalWords.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalWords.cs
new file mode 100644
index 0000000000..f00adcd05b
--- /dev/null
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/OptionalWords.cs
@@ -0,0 +1,217 @@
+//
+// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
+//
+using System;
+using System.Text;
+using System.Linq;
+using System.Text.Json.Serialization;
+using System.Collections.Generic;
+using Algolia.Search.Serializer;
+using System.Text.Json;
+using System.IO;
+using System.Reflection;
+using Algolia.Search.Models.Common;
+
+namespace Algolia.Search.Models.Search;
+
+///
+/// OptionalWords
+///
+[JsonConverter(typeof(OptionalWordsJsonConverter))]
+public partial class OptionalWords : AbstractSchema
+{
+ ///
+ /// Initializes a new instance of the OptionalWords class.
+ ///
+ public OptionalWords()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the OptionalWords class
+ /// with a string
+ ///
+ /// An instance of string.
+ public OptionalWords(string actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+ ///
+ /// Initializes a new instance of the OptionalWords class
+ /// with a List{String}
+ ///
+ /// An instance of List.
+ public OptionalWords(List actualInstance)
+ {
+ ActualInstance = actualInstance;
+ }
+
+
+ ///
+ /// Gets or Sets ActualInstance
+ ///
+ public sealed override object ActualInstance { get; set; }
+
+ ///
+ /// Get the actual instance of `string`. If the actual instance is not `string`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of string
+ public string AsString()
+ {
+ return (string)ActualInstance;
+ }
+
+ ///
+ /// Get the actual instance of `List{string}`. If the actual instance is not `List{string}`,
+ /// the InvalidClassException will be thrown
+ ///
+ /// An instance of List<string>
+ public List AsListString()
+ {
+ return (List)ActualInstance;
+ }
+
+
+ ///
+ /// Check if the actual instance is of `string` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsString()
+ {
+ return ActualInstance.GetType() == typeof(string);
+ }
+
+ ///
+ /// Check if the actual instance is of `List{string}` type.
+ ///
+ /// Whether or not the instance is the type
+ public bool IsListString()
+ {
+ return ActualInstance.GetType() == typeof(List);
+ }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OptionalWords {\n");
+ sb.Append(" ActualInstance: ").Append(ActualInstance).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public override string ToJson()
+ {
+ return JsonSerializer.Serialize(ActualInstance, JsonConfig.Options);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (obj is not OptionalWords input)
+ {
+ return false;
+ }
+
+ return ActualInstance.Equals(input.ActualInstance);
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ if (ActualInstance != null)
+ hashCode = hashCode * 59 + ActualInstance.GetHashCode();
+ return hashCode;
+ }
+ }
+}
+
+
+
+
+
+///
+/// Custom JSON converter for OptionalWords
+///
+public class OptionalWordsJsonConverter : JsonConverter
+{
+
+ ///
+ /// Check if the object can be converted
+ ///
+ /// Object type
+ /// True if the object can be converted
+ public override bool CanConvert(Type objectType)
+ {
+ return objectType == typeof(OptionalWords);
+ }
+
+ ///
+ /// To convert a JSON string into an object
+ ///
+ /// JSON reader
+ /// Object type
+ /// Serializer options
+ /// The object converted from the JSON string
+ public override OptionalWords Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ var jsonDocument = JsonDocument.ParseValue(ref reader);
+ var root = jsonDocument.RootElement;
+ if (root.ValueKind == JsonValueKind.String)
+ {
+ try
+ {
+ return new OptionalWords(jsonDocument.Deserialize(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into string: {exception}");
+ }
+ }
+ if (root.ValueKind == JsonValueKind.Array)
+ {
+ try
+ {
+ return new OptionalWords(jsonDocument.Deserialize>(JsonConfig.Options));
+ }
+ catch (Exception exception)
+ {
+ // deserialization failed, try the next one
+ System.Diagnostics.Debug.WriteLine($"Failed to deserialize into List: {exception}");
+ }
+ }
+ throw new InvalidDataException($"The JSON string cannot be deserialized into any schema defined.");
+ }
+
+ ///
+ /// To write the JSON string
+ ///
+ /// JSON writer
+ /// OptionalWords to be converted into a JSON string
+ /// JSON Serializer options
+ public override void Write(Utf8JsonWriter writer, OptionalWords value, JsonSerializerOptions options)
+ {
+ writer.WriteRawValue(value.ToJson());
+ }
+}
+
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ReRankingApplyFilter.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ReRankingApplyFilter.cs
index f32be33bc3..10ba076a38 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ReRankingApplyFilter.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/ReRankingApplyFilter.cs
@@ -24,7 +24,7 @@ public partial class ReRankingApplyFilter : AbstractSchema
/// Initializes a new instance of the ReRankingApplyFilter class
/// with a List{ReRankingApplyFilter}
///
- /// An instance of List<ReRankingApplyFilter>.
+ /// An instance of List.
public ReRankingApplyFilter(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/RemoveStopWords.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/RemoveStopWords.cs
index 71417d5caf..9cbcbd3d56 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/RemoveStopWords.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/RemoveStopWords.cs
@@ -24,7 +24,7 @@ public partial class RemoveStopWords : AbstractSchema
/// Initializes a new instance of the RemoveStopWords class
/// with a List{SupportedLanguage}
///
- /// An instance of List<SupportedLanguage>.
+ /// An instance of List.
public RemoveStopWords(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForFacets.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForFacets.cs
index 1affc271ec..e67b69f6b8 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForFacets.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForFacets.cs
@@ -199,11 +199,10 @@ public SearchForFacets(string facet, string indexName, SearchTypeFacet? type)
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -461,11 +460,10 @@ public SearchForFacets(string facet, string indexName, SearchTypeFacet? type)
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -515,13 +513,6 @@ public SearchForFacets(string facet, string indexName, SearchTypeFacet? type)
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -583,6 +574,13 @@ public SearchForFacets(string facet, string indexName, SearchTypeFacet? type)
[JsonPropertyName("facetQuery")]
public string FacetQuery { get; set; }
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ [JsonPropertyName("maxFacetHits")]
+ public int? MaxFacetHits { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -661,7 +659,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -671,6 +668,7 @@ public override string ToString()
sb.Append(" Facet: ").Append(Facet).Append("\n");
sb.Append(" IndexName: ").Append(IndexName).Append("\n");
sb.Append(" FacetQuery: ").Append(FacetQuery).Append("\n");
+ sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
@@ -718,7 +716,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -759,7 +757,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -768,7 +766,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -778,6 +775,7 @@ public override bool Equals(object obj)
(Facet == input.Facet || (Facet != null && Facet.Equals(input.Facet))) &&
(IndexName == input.IndexName || (IndexName != null && IndexName.Equals(input.IndexName))) &&
(FacetQuery == input.FacetQuery || (FacetQuery != null && FacetQuery.Equals(input.FacetQuery))) &&
+ (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(Type == input.Type || Type.Equals(input.Type));
}
@@ -980,7 +978,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
@@ -1008,6 +1005,7 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + FacetQuery.GetHashCode();
}
+ hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + Type.GetHashCode();
return hashCode;
}
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForHits.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForHits.cs
index a03e2e8c00..87cb18b5e4 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForHits.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchForHits.cs
@@ -195,11 +195,10 @@ public SearchForHits(string indexName)
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -457,11 +456,10 @@ public SearchForHits(string indexName)
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -511,13 +509,6 @@ public SearchForHits(string indexName)
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -643,7 +634,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -698,7 +688,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -739,7 +729,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -748,7 +738,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -958,7 +947,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchParamsObject.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchParamsObject.cs
index 8b462c4fb2..af0516df5b 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchParamsObject.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SearchParamsObject.cs
@@ -175,11 +175,10 @@ public SearchParamsObject()
public int? MinimumAroundRadius { get; set; }
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// Gets or Sets InsideBoundingBox
///
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
[JsonPropertyName("insideBoundingBox")]
- public List> InsideBoundingBox { get; set; }
+ public InsideBoundingBox InsideBoundingBox { get; set; }
///
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@@ -437,11 +436,10 @@ public SearchParamsObject()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -491,13 +489,6 @@ public SearchParamsObject()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -615,7 +606,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -667,7 +657,7 @@ public override bool Equals(object obj)
(AroundRadius == input.AroundRadius || (AroundRadius != null && AroundRadius.Equals(input.AroundRadius))) &&
(AroundPrecision == input.AroundPrecision || (AroundPrecision != null && AroundPrecision.Equals(input.AroundPrecision))) &&
(MinimumAroundRadius == input.MinimumAroundRadius || MinimumAroundRadius.Equals(input.MinimumAroundRadius)) &&
- (InsideBoundingBox == input.InsideBoundingBox || InsideBoundingBox != null && input.InsideBoundingBox != null && InsideBoundingBox.SequenceEqual(input.InsideBoundingBox)) &&
+ (InsideBoundingBox == input.InsideBoundingBox || (InsideBoundingBox != null && InsideBoundingBox.Equals(input.InsideBoundingBox))) &&
(InsidePolygon == input.InsidePolygon || InsidePolygon != null && input.InsidePolygon != null && InsidePolygon.SequenceEqual(input.InsidePolygon)) &&
(NaturalLanguages == input.NaturalLanguages || NaturalLanguages != null && input.NaturalLanguages != null && NaturalLanguages.SequenceEqual(input.NaturalLanguages)) &&
(RuleContexts == input.RuleContexts || RuleContexts != null && input.RuleContexts != null && RuleContexts.SequenceEqual(input.RuleContexts)) &&
@@ -708,7 +698,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -717,7 +707,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -921,7 +910,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SettingsResponse.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SettingsResponse.cs
index d9990e39dd..2102170c97 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SettingsResponse.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SettingsResponse.cs
@@ -166,6 +166,13 @@ public SettingsResponse()
[JsonPropertyName("attributeForDistinct")]
public string AttributeForDistinct { get; set; }
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ ///
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ [JsonPropertyName("maxFacetHits")]
+ public int? MaxFacetHits { get; set; }
+
///
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
///
@@ -338,11 +345,10 @@ public SettingsResponse()
public bool? AdvancedSyntax { get; set; }
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// Gets or Sets OptionalWords
///
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
[JsonPropertyName("optionalWords")]
- public List OptionalWords { get; set; }
+ public OptionalWords OptionalWords { get; set; }
///
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@@ -392,13 +398,6 @@ public SettingsResponse()
[JsonPropertyName("responseFields")]
public List ResponseFields { get; set; }
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- ///
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- [JsonPropertyName("maxFacetHits")]
- public int? MaxFacetHits { get; set; }
-
///
/// Maximum number of facet values to return for each facet.
///
@@ -471,6 +470,7 @@ public override string ToString()
sb.Append(" UserData: ").Append(UserData).Append("\n");
sb.Append(" CustomNormalization: ").Append(CustomNormalization).Append("\n");
sb.Append(" AttributeForDistinct: ").Append(AttributeForDistinct).Append("\n");
+ sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" AttributesToRetrieve: ").Append(AttributesToRetrieve).Append("\n");
sb.Append(" Ranking: ").Append(Ranking).Append("\n");
sb.Append(" CustomRanking: ").Append(CustomRanking).Append("\n");
@@ -508,7 +508,6 @@ public override string ToString()
sb.Append(" ReplaceSynonymsInHighlight: ").Append(ReplaceSynonymsInHighlight).Append("\n");
sb.Append(" MinProximity: ").Append(MinProximity).Append("\n");
sb.Append(" ResponseFields: ").Append(ResponseFields).Append("\n");
- sb.Append(" MaxFacetHits: ").Append(MaxFacetHits).Append("\n");
sb.Append(" MaxValuesPerFacet: ").Append(MaxValuesPerFacet).Append("\n");
sb.Append(" SortFacetValuesBy: ").Append(SortFacetValuesBy).Append("\n");
sb.Append(" AttributeCriteriaComputedByMinProximity: ").Append(AttributeCriteriaComputedByMinProximity).Append("\n");
@@ -559,6 +558,7 @@ public override bool Equals(object obj)
(UserData == input.UserData || (UserData != null && UserData.Equals(input.UserData))) &&
(CustomNormalization == input.CustomNormalization || CustomNormalization != null && input.CustomNormalization != null && CustomNormalization.SequenceEqual(input.CustomNormalization)) &&
(AttributeForDistinct == input.AttributeForDistinct || (AttributeForDistinct != null && AttributeForDistinct.Equals(input.AttributeForDistinct))) &&
+ (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(AttributesToRetrieve == input.AttributesToRetrieve || AttributesToRetrieve != null && input.AttributesToRetrieve != null && AttributesToRetrieve.SequenceEqual(input.AttributesToRetrieve)) &&
(Ranking == input.Ranking || Ranking != null && input.Ranking != null && Ranking.SequenceEqual(input.Ranking)) &&
(CustomRanking == input.CustomRanking || CustomRanking != null && input.CustomRanking != null && CustomRanking.SequenceEqual(input.CustomRanking)) &&
@@ -587,7 +587,7 @@ public override bool Equals(object obj)
(Mode == input.Mode || Mode.Equals(input.Mode)) &&
(SemanticSearch == input.SemanticSearch || (SemanticSearch != null && SemanticSearch.Equals(input.SemanticSearch))) &&
(AdvancedSyntax == input.AdvancedSyntax || AdvancedSyntax.Equals(input.AdvancedSyntax)) &&
- (OptionalWords == input.OptionalWords || OptionalWords != null && input.OptionalWords != null && OptionalWords.SequenceEqual(input.OptionalWords)) &&
+ (OptionalWords == input.OptionalWords || (OptionalWords != null && OptionalWords.Equals(input.OptionalWords))) &&
(DisableExactOnAttributes == input.DisableExactOnAttributes || DisableExactOnAttributes != null && input.DisableExactOnAttributes != null && DisableExactOnAttributes.SequenceEqual(input.DisableExactOnAttributes)) &&
(ExactOnSingleWordQuery == input.ExactOnSingleWordQuery || ExactOnSingleWordQuery.Equals(input.ExactOnSingleWordQuery)) &&
(AlternativesAsExact == input.AlternativesAsExact || AlternativesAsExact != null && input.AlternativesAsExact != null && AlternativesAsExact.SequenceEqual(input.AlternativesAsExact)) &&
@@ -596,7 +596,6 @@ public override bool Equals(object obj)
(ReplaceSynonymsInHighlight == input.ReplaceSynonymsInHighlight || ReplaceSynonymsInHighlight.Equals(input.ReplaceSynonymsInHighlight)) &&
(MinProximity == input.MinProximity || MinProximity.Equals(input.MinProximity)) &&
(ResponseFields == input.ResponseFields || ResponseFields != null && input.ResponseFields != null && ResponseFields.SequenceEqual(input.ResponseFields)) &&
- (MaxFacetHits == input.MaxFacetHits || MaxFacetHits.Equals(input.MaxFacetHits)) &&
(MaxValuesPerFacet == input.MaxValuesPerFacet || MaxValuesPerFacet.Equals(input.MaxValuesPerFacet)) &&
(SortFacetValuesBy == input.SortFacetValuesBy || (SortFacetValuesBy != null && SortFacetValuesBy.Equals(input.SortFacetValuesBy))) &&
(AttributeCriteriaComputedByMinProximity == input.AttributeCriteriaComputedByMinProximity || AttributeCriteriaComputedByMinProximity.Equals(input.AttributeCriteriaComputedByMinProximity)) &&
@@ -677,6 +676,7 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + AttributeForDistinct.GetHashCode();
}
+ hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
if (AttributesToRetrieve != null)
{
hashCode = (hashCode * 59) + AttributesToRetrieve.GetHashCode();
@@ -777,7 +777,6 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + ResponseFields.GetHashCode();
}
- hashCode = (hashCode * 59) + MaxFacetHits.GetHashCode();
hashCode = (hashCode * 59) + MaxValuesPerFacet.GetHashCode();
if (SortFacetValuesBy != null)
{
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SnippetResult.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SnippetResult.cs
index b82a385b27..1fabe1c75e 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SnippetResult.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/SnippetResult.cs
@@ -34,7 +34,7 @@ public SnippetResult(SnippetResultOption actualInstance)
/// Initializes a new instance of the SnippetResult class
/// with a Dictionary{string, SnippetResult}
///
- /// An instance of Dictionary<string, SnippetResult>.
+ /// An instance of Dictionary.
public SnippetResult(Dictionary actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
@@ -44,7 +44,7 @@ public SnippetResult(Dictionary actualInstance)
/// Initializes a new instance of the SnippetResult class
/// with a List{SnippetResult}
///
- /// An instance of List<SnippetResult>.
+ /// An instance of List.
public SnippetResult(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/TagFilters.cs b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/TagFilters.cs
index c51edca3fa..9c13ee3560 100644
--- a/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/TagFilters.cs
+++ b/clients/algoliasearch-client-csharp/algoliasearch/Models/Search/TagFilters.cs
@@ -24,7 +24,7 @@ public partial class TagFilters : AbstractSchema
/// Initializes a new instance of the TagFilters class
/// with a List{TagFilters}
///
- /// An instance of List<TagFilters>.
+ /// An instance of List.
public TagFilters(List actualInstance)
{
ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.dart
index 516ec1f546..4e5c264df1 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.dart
@@ -27,6 +27,7 @@ final class BaseIndexSettings {
this.userData,
this.customNormalization,
this.attributeForDistinct,
+ this.maxFacetHits,
});
/// Attributes used for [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/). Facets are attributes that let you categorize search results. They can be used for filtering search results. By default, no attribute is used for faceting. Attribute names are case-sensitive. **Modifiers** - `filterOnly(\"ATTRIBUTE\")`. Allows the attribute to be used as a filter but doesn't evaluate the facet values. - `searchable(\"ATTRIBUTE\")`. Allows searching for facet values. - `afterDistinct(\"ATTRIBUTE\")`. Evaluates the facet count _after_ deduplication with `distinct`. This ensures accurate facet counts. You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`.
@@ -98,6 +99,11 @@ final class BaseIndexSettings {
@JsonKey(name: r'attributeForDistinct')
final String? attributeForDistinct;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
@override
bool operator ==(Object other) =>
identical(this, other) ||
@@ -120,7 +126,8 @@ final class BaseIndexSettings {
other.searchableAttributes == searchableAttributes &&
other.userData == userData &&
other.customNormalization == customNormalization &&
- other.attributeForDistinct == attributeForDistinct;
+ other.attributeForDistinct == attributeForDistinct &&
+ other.maxFacetHits == maxFacetHits;
@override
int get hashCode =>
@@ -140,7 +147,8 @@ final class BaseIndexSettings {
searchableAttributes.hashCode +
userData.hashCode +
customNormalization.hashCode +
- attributeForDistinct.hashCode;
+ attributeForDistinct.hashCode +
+ maxFacetHits.hashCode;
factory BaseIndexSettings.fromJson(Map json) =>
_$BaseIndexSettingsFromJson(json);
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.g.dart
index 2d5fe182fc..7d1c260bad 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_index_settings.g.dart
@@ -55,6 +55,8 @@ BaseIndexSettings _$BaseIndexSettingsFromJson(Map json) =>
)),
attributeForDistinct:
$checkedConvert('attributeForDistinct', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
);
return val;
},
@@ -90,6 +92,7 @@ Map _$BaseIndexSettingsToJson(BaseIndexSettings instance) {
writeNotNull('userData', instance.userData);
writeNotNull('customNormalization', instance.customNormalization);
writeNotNull('attributeForDistinct', instance.attributeForDistinct);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
return val;
}
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.dart
index 3707f35de2..0bc246b70b 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.dart
@@ -2,10 +2,10 @@
// ignore_for_file: unused_element
import 'package:algoliasearch/src/model/advanced_syntax_features.dart';
import 'package:algoliasearch/src/model/supported_language.dart';
+import 'package:algoliasearch/src/model/rendering_content.dart';
import 'package:algoliasearch/src/model/remove_words_if_no_results.dart';
import 'package:algoliasearch/src/model/query_type.dart';
import 'package:algoliasearch/src/model/exact_on_single_word_query.dart';
-import 'package:algoliasearch/src/model/rendering_content.dart';
import 'package:algoliasearch/src/model/alternatives_as_exact.dart';
import 'package:json_annotation/json_annotation.dart';
@@ -48,7 +48,6 @@ final class BaseRecommendIndexSettings {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -154,9 +153,11 @@ final class BaseRecommendIndexSettings {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -193,11 +194,6 @@ final class BaseRecommendIndexSettings {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -263,7 +259,6 @@ final class BaseRecommendIndexSettings {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -297,7 +292,7 @@ final class BaseRecommendIndexSettings {
queryType.hashCode +
removeWordsIfNoResults.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -306,7 +301,6 @@ final class BaseRecommendIndexSettings {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.g.dart
index 3c0684f9d2..6ed70e8636 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_index_settings.g.dart
@@ -58,8 +58,7 @@ BaseRecommendIndexSettings _$BaseRecommendIndexSettingsFromJson(
removeWordsIfNoResults: $checkedConvert('removeWordsIfNoResults',
(v) => $enumDecodeNullable(_$RemoveWordsIfNoResultsEnumMap, v)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -81,8 +80,6 @@ BaseRecommendIndexSettings _$BaseRecommendIndexSettingsFromJson(
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -153,7 +150,6 @@ Map _$BaseRecommendIndexSettingsToJson(
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.dart
index 7b9a93c666..e302fa1908 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.dart
@@ -117,9 +117,11 @@ final class BaseRecommendSearchParams {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -221,7 +223,7 @@ final class BaseRecommendSearchParams {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.g.dart
index 439e57dfaf..e6788d7092 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_recommend_search_params.g.dart
@@ -35,13 +35,7 @@ BaseRecommendSearchParams _$BaseRecommendSearchParamsFromJson(
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.dart
index 979fd35238..aeb85a7246 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.dart
@@ -140,9 +140,11 @@ final class BaseSearchParams {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -252,7 +254,7 @@ final class BaseSearchParams {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.g.dart
index 6222a9f8e2..f49c46cd20 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params.g.dart
@@ -38,13 +38,7 @@ BaseSearchParams _$BaseSearchParamsFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.dart
index 8fd30b7d63..ebcc6ba798 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.dart
@@ -135,9 +135,11 @@ final class BaseSearchParamsWithoutQuery {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -245,7 +247,7 @@ final class BaseSearchParamsWithoutQuery {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.g.dart
index 02715e207f..f881eaf7e1 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/base_search_params_without_query.g.dart
@@ -38,13 +38,7 @@ BaseSearchParamsWithoutQuery _$BaseSearchParamsWithoutQueryFromJson(
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.dart
index 57d42834ab..589a9588fc 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.dart
@@ -87,7 +87,6 @@ final class BrowseParamsObject {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -193,9 +192,11 @@ final class BrowseParamsObject {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -364,9 +365,11 @@ final class BrowseParamsObject {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -403,11 +406,6 @@ final class BrowseParamsObject {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -514,7 +512,6 @@ final class BrowseParamsObject {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -545,7 +542,7 @@ final class BrowseParamsObject {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -586,7 +583,7 @@ final class BrowseParamsObject {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -595,7 +592,6 @@ final class BrowseParamsObject {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.g.dart
index 12bc6a26bf..14d21860be 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/browse_params_object.g.dart
@@ -38,13 +38,7 @@ BrowseParamsObject _$BrowseParamsObjectFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -129,8 +123,7 @@ BrowseParamsObject _$BrowseParamsObjectFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -152,8 +145,6 @@ BrowseParamsObject _$BrowseParamsObjectFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -264,7 +255,6 @@ Map _$BrowseParamsObjectToJson(BrowseParamsObject instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.dart
index 3b47942219..42018ab0d0 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.dart
@@ -86,7 +86,6 @@ final class ConsequenceParams {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -190,9 +189,11 @@ final class ConsequenceParams {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -361,9 +362,11 @@ final class ConsequenceParams {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -400,11 +403,6 @@ final class ConsequenceParams {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -524,7 +522,6 @@ final class ConsequenceParams {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -556,7 +553,7 @@ final class ConsequenceParams {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -597,7 +594,7 @@ final class ConsequenceParams {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -606,7 +603,6 @@ final class ConsequenceParams {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.g.dart
index 82861f7839..91f10eb5d6 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/consequence_params.g.dart
@@ -37,13 +37,7 @@ ConsequenceParams _$ConsequenceParamsFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -128,8 +122,7 @@ ConsequenceParams _$ConsequenceParamsFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -151,8 +144,6 @@ ConsequenceParams _$ConsequenceParamsFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -266,7 +257,6 @@ Map _$ConsequenceParamsToJson(ConsequenceParams instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.dart
index 5a1f64705a..293618d76c 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.dart
@@ -62,6 +62,7 @@ final class FallbackParams {
this.userData,
this.customNormalization,
this.attributeForDistinct,
+ this.maxFacetHits,
this.attributesToRetrieve,
this.ranking,
this.relevancyStrictness,
@@ -94,7 +95,6 @@ final class FallbackParams {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -180,9 +180,11 @@ final class FallbackParams {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -307,6 +309,11 @@ final class FallbackParams {
@JsonKey(name: r'attributeForDistinct')
final String? attributeForDistinct;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
@JsonKey(name: r'attributesToRetrieve')
final List? attributesToRetrieve;
@@ -404,9 +411,11 @@ final class FallbackParams {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -443,11 +452,6 @@ final class FallbackParams {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -527,6 +531,7 @@ final class FallbackParams {
other.userData == userData &&
other.customNormalization == customNormalization &&
other.attributeForDistinct == attributeForDistinct &&
+ other.maxFacetHits == maxFacetHits &&
other.attributesToRetrieve == attributesToRetrieve &&
other.ranking == ranking &&
other.relevancyStrictness == relevancyStrictness &&
@@ -561,7 +566,6 @@ final class FallbackParams {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -587,7 +591,7 @@ final class FallbackParams {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -618,6 +622,7 @@ final class FallbackParams {
userData.hashCode +
customNormalization.hashCode +
attributeForDistinct.hashCode +
+ maxFacetHits.hashCode +
attributesToRetrieve.hashCode +
ranking.hashCode +
relevancyStrictness.hashCode +
@@ -641,7 +646,7 @@ final class FallbackParams {
queryType.hashCode +
removeWordsIfNoResults.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -650,7 +655,6 @@ final class FallbackParams {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.g.dart
index 7745b327fb..95a74455ee 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/fallback_params.g.dart
@@ -34,13 +34,7 @@ FallbackParams _$FallbackParamsFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -111,6 +105,8 @@ FallbackParams _$FallbackParamsFromJson(Map json) =>
)),
attributeForDistinct:
$checkedConvert('attributeForDistinct', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
attributesToRetrieve: $checkedConvert('attributesToRetrieve',
(v) => (v as List?)?.map((e) => e as String).toList()),
ranking: $checkedConvert('ranking',
@@ -156,8 +152,7 @@ FallbackParams _$FallbackParamsFromJson(Map json) =>
removeWordsIfNoResults: $checkedConvert('removeWordsIfNoResults',
(v) => $enumDecodeNullable(_$RemoveWordsIfNoResultsEnumMap, v)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -179,8 +174,6 @@ FallbackParams _$FallbackParamsFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -262,6 +255,7 @@ Map _$FallbackParamsToJson(FallbackParams instance) {
writeNotNull('userData', instance.userData);
writeNotNull('customNormalization', instance.customNormalization);
writeNotNull('attributeForDistinct', instance.attributeForDistinct);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('attributesToRetrieve', instance.attributesToRetrieve);
writeNotNull('ranking', instance.ranking);
writeNotNull('relevancyStrictness', instance.relevancyStrictness);
@@ -302,7 +296,6 @@ Map _$FallbackParamsToJson(FallbackParams instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.dart
index a48cd8875b..a789381223 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.dart
@@ -35,6 +35,7 @@ final class IndexSettings {
this.userData,
this.customNormalization,
this.attributeForDistinct,
+ this.maxFacetHits,
this.attributesToRetrieve,
this.ranking,
this.customRanking,
@@ -72,7 +73,6 @@ final class IndexSettings {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -150,6 +150,11 @@ final class IndexSettings {
@JsonKey(name: r'attributeForDistinct')
final String? attributeForDistinct;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
@JsonKey(name: r'attributesToRetrieve')
final List? attributesToRetrieve;
@@ -267,9 +272,11 @@ final class IndexSettings {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -306,11 +313,6 @@ final class IndexSettings {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -361,6 +363,7 @@ final class IndexSettings {
other.userData == userData &&
other.customNormalization == customNormalization &&
other.attributeForDistinct == attributeForDistinct &&
+ other.maxFacetHits == maxFacetHits &&
other.attributesToRetrieve == attributesToRetrieve &&
other.ranking == ranking &&
other.customRanking == customRanking &&
@@ -400,7 +403,6 @@ final class IndexSettings {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -428,6 +430,7 @@ final class IndexSettings {
userData.hashCode +
customNormalization.hashCode +
attributeForDistinct.hashCode +
+ maxFacetHits.hashCode +
attributesToRetrieve.hashCode +
ranking.hashCode +
customRanking.hashCode +
@@ -456,7 +459,7 @@ final class IndexSettings {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -465,7 +468,6 @@ final class IndexSettings {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.g.dart
index 2132b6dfa3..87e6c4ce0c 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings.g.dart
@@ -55,6 +55,8 @@ IndexSettings _$IndexSettingsFromJson(Map json) =>
)),
attributeForDistinct:
$checkedConvert('attributeForDistinct', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
attributesToRetrieve: $checkedConvert('attributesToRetrieve',
(v) => (v as List?)?.map((e) => e as String).toList()),
ranking: $checkedConvert('ranking',
@@ -113,8 +115,7 @@ IndexSettings _$IndexSettingsFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -136,8 +137,6 @@ IndexSettings _$IndexSettingsFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -188,6 +187,7 @@ Map _$IndexSettingsToJson(IndexSettings instance) {
writeNotNull('userData', instance.userData);
writeNotNull('customNormalization', instance.customNormalization);
writeNotNull('attributeForDistinct', instance.attributeForDistinct);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('attributesToRetrieve', instance.attributesToRetrieve);
writeNotNull('ranking', instance.ranking);
writeNotNull('customRanking', instance.customRanking);
@@ -234,7 +234,6 @@ Map _$IndexSettingsToJson(IndexSettings instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.dart
index 61d5b61314..97803f0146 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.dart
@@ -55,7 +55,6 @@ final class IndexSettingsAsSearchParams {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -181,9 +180,11 @@ final class IndexSettingsAsSearchParams {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -220,11 +221,6 @@ final class IndexSettingsAsSearchParams {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -295,7 +291,6 @@ final class IndexSettingsAsSearchParams {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -334,7 +329,7 @@ final class IndexSettingsAsSearchParams {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -343,7 +338,6 @@ final class IndexSettingsAsSearchParams {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.g.dart
index d0bc7106e0..d91c8408bf 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/index_settings_as_search_params.g.dart
@@ -71,8 +71,7 @@ IndexSettingsAsSearchParams _$IndexSettingsAsSearchParamsFromJson(
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -94,8 +93,6 @@ IndexSettingsAsSearchParams _$IndexSettingsAsSearchParamsFromJson(
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -172,7 +169,6 @@ Map _$IndexSettingsAsSearchParamsToJson(
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.dart
index 405e31724a..5c735660d5 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.dart
@@ -2,10 +2,10 @@
// ignore_for_file: unused_element
import 'package:algoliasearch/src/model/advanced_syntax_features.dart';
import 'package:algoliasearch/src/model/supported_language.dart';
+import 'package:algoliasearch/src/model/rendering_content.dart';
import 'package:algoliasearch/src/model/remove_words_if_no_results.dart';
import 'package:algoliasearch/src/model/query_type.dart';
import 'package:algoliasearch/src/model/exact_on_single_word_query.dart';
-import 'package:algoliasearch/src/model/rendering_content.dart';
import 'package:algoliasearch/src/model/alternatives_as_exact.dart';
import 'package:json_annotation/json_annotation.dart';
@@ -33,6 +33,7 @@ final class RecommendIndexSettings {
this.userData,
this.customNormalization,
this.attributeForDistinct,
+ this.maxFacetHits,
this.attributesToRetrieve,
this.ranking,
this.relevancyStrictness,
@@ -65,7 +66,6 @@ final class RecommendIndexSettings {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -143,6 +143,11 @@ final class RecommendIndexSettings {
@JsonKey(name: r'attributeForDistinct')
final String? attributeForDistinct;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
@JsonKey(name: r'attributesToRetrieve')
final List? attributesToRetrieve;
@@ -240,9 +245,11 @@ final class RecommendIndexSettings {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -279,11 +286,6 @@ final class RecommendIndexSettings {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -334,6 +336,7 @@ final class RecommendIndexSettings {
other.userData == userData &&
other.customNormalization == customNormalization &&
other.attributeForDistinct == attributeForDistinct &&
+ other.maxFacetHits == maxFacetHits &&
other.attributesToRetrieve == attributesToRetrieve &&
other.ranking == ranking &&
other.relevancyStrictness == relevancyStrictness &&
@@ -368,7 +371,6 @@ final class RecommendIndexSettings {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -396,6 +398,7 @@ final class RecommendIndexSettings {
userData.hashCode +
customNormalization.hashCode +
attributeForDistinct.hashCode +
+ maxFacetHits.hashCode +
attributesToRetrieve.hashCode +
ranking.hashCode +
relevancyStrictness.hashCode +
@@ -419,7 +422,7 @@ final class RecommendIndexSettings {
queryType.hashCode +
removeWordsIfNoResults.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -428,7 +431,6 @@ final class RecommendIndexSettings {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.g.dart
index 79e862e694..1033f0f58d 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_index_settings.g.dart
@@ -56,6 +56,8 @@ RecommendIndexSettings _$RecommendIndexSettingsFromJson(
)),
attributeForDistinct:
$checkedConvert('attributeForDistinct', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
attributesToRetrieve: $checkedConvert('attributesToRetrieve',
(v) => (v as List?)?.map((e) => e as String).toList()),
ranking: $checkedConvert('ranking',
@@ -101,8 +103,7 @@ RecommendIndexSettings _$RecommendIndexSettingsFromJson(
removeWordsIfNoResults: $checkedConvert('removeWordsIfNoResults',
(v) => $enumDecodeNullable(_$RemoveWordsIfNoResultsEnumMap, v)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -124,8 +125,6 @@ RecommendIndexSettings _$RecommendIndexSettingsFromJson(
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -177,6 +176,7 @@ Map _$RecommendIndexSettingsToJson(
writeNotNull('userData', instance.userData);
writeNotNull('customNormalization', instance.customNormalization);
writeNotNull('attributeForDistinct', instance.attributeForDistinct);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('attributesToRetrieve', instance.attributesToRetrieve);
writeNotNull('ranking', instance.ranking);
writeNotNull('relevancyStrictness', instance.relevancyStrictness);
@@ -217,7 +217,6 @@ Map _$RecommendIndexSettingsToJson(
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.dart
index 589f6f8460..31a0fd795e 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.dart
@@ -62,6 +62,7 @@ final class RecommendSearchParams {
this.userData,
this.customNormalization,
this.attributeForDistinct,
+ this.maxFacetHits,
this.attributesToRetrieve,
this.ranking,
this.relevancyStrictness,
@@ -94,7 +95,6 @@ final class RecommendSearchParams {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -180,9 +180,11 @@ final class RecommendSearchParams {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -307,6 +309,11 @@ final class RecommendSearchParams {
@JsonKey(name: r'attributeForDistinct')
final String? attributeForDistinct;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
/// Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
@JsonKey(name: r'attributesToRetrieve')
final List? attributesToRetrieve;
@@ -404,9 +411,11 @@ final class RecommendSearchParams {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -443,11 +452,6 @@ final class RecommendSearchParams {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -527,6 +531,7 @@ final class RecommendSearchParams {
other.userData == userData &&
other.customNormalization == customNormalization &&
other.attributeForDistinct == attributeForDistinct &&
+ other.maxFacetHits == maxFacetHits &&
other.attributesToRetrieve == attributesToRetrieve &&
other.ranking == ranking &&
other.relevancyStrictness == relevancyStrictness &&
@@ -561,7 +566,6 @@ final class RecommendSearchParams {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -587,7 +591,7 @@ final class RecommendSearchParams {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -618,6 +622,7 @@ final class RecommendSearchParams {
userData.hashCode +
customNormalization.hashCode +
attributeForDistinct.hashCode +
+ maxFacetHits.hashCode +
attributesToRetrieve.hashCode +
ranking.hashCode +
relevancyStrictness.hashCode +
@@ -641,7 +646,7 @@ final class RecommendSearchParams {
queryType.hashCode +
removeWordsIfNoResults.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -650,7 +655,6 @@ final class RecommendSearchParams {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.g.dart
index cab82103c7..b077e58fbd 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/recommend_search_params.g.dart
@@ -35,13 +35,7 @@ RecommendSearchParams _$RecommendSearchParamsFromJson(
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -112,6 +106,8 @@ RecommendSearchParams _$RecommendSearchParamsFromJson(
)),
attributeForDistinct:
$checkedConvert('attributeForDistinct', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
attributesToRetrieve: $checkedConvert('attributesToRetrieve',
(v) => (v as List?)?.map((e) => e as String).toList()),
ranking: $checkedConvert('ranking',
@@ -157,8 +153,7 @@ RecommendSearchParams _$RecommendSearchParamsFromJson(
removeWordsIfNoResults: $checkedConvert('removeWordsIfNoResults',
(v) => $enumDecodeNullable(_$RemoveWordsIfNoResultsEnumMap, v)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -180,8 +175,6 @@ RecommendSearchParams _$RecommendSearchParamsFromJson(
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -264,6 +257,7 @@ Map _$RecommendSearchParamsToJson(
writeNotNull('userData', instance.userData);
writeNotNull('customNormalization', instance.customNormalization);
writeNotNull('attributeForDistinct', instance.attributeForDistinct);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('attributesToRetrieve', instance.attributesToRetrieve);
writeNotNull('ranking', instance.ranking);
writeNotNull('relevancyStrictness', instance.relevancyStrictness);
@@ -304,7 +298,6 @@ Map _$RecommendSearchParamsToJson(
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.dart
index 7e9c0e27cf..ce07b81ea7 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.dart
@@ -89,7 +89,6 @@ final class SearchForFacets {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -99,6 +98,7 @@ final class SearchForFacets {
required this.facet,
required this.indexName,
this.facetQuery,
+ this.maxFacetHits,
required this.type,
});
@@ -202,9 +202,11 @@ final class SearchForFacets {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -373,9 +375,11 @@ final class SearchForFacets {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -412,11 +416,6 @@ final class SearchForFacets {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -456,6 +455,11 @@ final class SearchForFacets {
@JsonKey(name: r'facetQuery')
final String? facetQuery;
+ /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
+ // maximum: 100
+ @JsonKey(name: r'maxFacetHits')
+ final int? maxFacetHits;
+
@JsonKey(name: r'type')
final SearchTypeFacet type;
@@ -535,7 +539,6 @@ final class SearchForFacets {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -546,6 +549,7 @@ final class SearchForFacets {
other.facet == facet &&
other.indexName == indexName &&
other.facetQuery == facetQuery &&
+ other.maxFacetHits == maxFacetHits &&
other.type == type;
@override
@@ -570,7 +574,7 @@ final class SearchForFacets {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -611,7 +615,7 @@ final class SearchForFacets {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -620,7 +624,6 @@ final class SearchForFacets {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
@@ -630,6 +633,7 @@ final class SearchForFacets {
facet.hashCode +
indexName.hashCode +
facetQuery.hashCode +
+ maxFacetHits.hashCode +
type.hashCode;
factory SearchForFacets.fromJson(Map json) =>
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.g.dart
index cc577ea0a2..10156ef871 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_facets.g.dart
@@ -39,13 +39,7 @@ SearchForFacets _$SearchForFacetsFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -130,8 +124,7 @@ SearchForFacets _$SearchForFacetsFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -153,8 +146,6 @@ SearchForFacets _$SearchForFacetsFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -173,6 +164,8 @@ SearchForFacets _$SearchForFacetsFromJson(Map json) =>
facet: $checkedConvert('facet', (v) => v as String),
indexName: $checkedConvert('indexName', (v) => v as String),
facetQuery: $checkedConvert('facetQuery', (v) => v as String?),
+ maxFacetHits:
+ $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
type: $checkedConvert(
'type', (v) => $enumDecode(_$SearchTypeFacetEnumMap, v)),
);
@@ -270,7 +263,6 @@ Map _$SearchForFacetsToJson(SearchForFacets instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
@@ -281,6 +273,7 @@ Map _$SearchForFacetsToJson(SearchForFacets instance) {
val['facet'] = instance.facet;
val['indexName'] = instance.indexName;
writeNotNull('facetQuery', instance.facetQuery);
+ writeNotNull('maxFacetHits', instance.maxFacetHits);
val['type'] = instance.type.toJson();
return val;
}
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.dart
index 47e1665d28..ba28835f5a 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.dart
@@ -89,7 +89,6 @@ final class SearchForHits {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -200,9 +199,11 @@ final class SearchForHits {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -371,9 +372,11 @@ final class SearchForHits {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -410,11 +413,6 @@ final class SearchForHits {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -525,7 +523,6 @@ final class SearchForHits {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -558,7 +555,7 @@ final class SearchForHits {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -599,7 +596,7 @@ final class SearchForHits {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -608,7 +605,6 @@ final class SearchForHits {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.g.dart
index 3ffb21ae91..6fbd4715b8 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_for_hits.g.dart
@@ -39,13 +39,7 @@ SearchForHits _$SearchForHitsFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -130,8 +124,7 @@ SearchForHits _$SearchForHitsFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List?)?.map((e) => e as String).toList()),
exactOnSingleWordQuery: $checkedConvert('exactOnSingleWordQuery',
@@ -153,8 +146,6 @@ SearchForHits _$SearchForHitsFromJson(Map json) =>
$checkedConvert('minProximity', (v) => (v as num?)?.toInt()),
responseFields: $checkedConvert('responseFields',
(v) => (v as List?)?.map((e) => e as String).toList()),
- maxFacetHits:
- $checkedConvert('maxFacetHits', (v) => (v as num?)?.toInt()),
maxValuesPerFacet:
$checkedConvert('maxValuesPerFacet', (v) => (v as num?)?.toInt()),
sortFacetValuesBy:
@@ -268,7 +259,6 @@ Map _$SearchForHitsToJson(SearchForHits instance) {
'replaceSynonymsInHighlight', instance.replaceSynonymsInHighlight);
writeNotNull('minProximity', instance.minProximity);
writeNotNull('responseFields', instance.responseFields);
- writeNotNull('maxFacetHits', instance.maxFacetHits);
writeNotNull('maxValuesPerFacet', instance.maxValuesPerFacet);
writeNotNull('sortFacetValuesBy', instance.sortFacetValuesBy);
writeNotNull('attributeCriteriaComputedByMinProximity',
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.dart
index ff88660c8c..fb4f951c13 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.dart
@@ -87,7 +87,6 @@ final class SearchParamsObject {
this.replaceSynonymsInHighlight,
this.minProximity,
this.responseFields,
- this.maxFacetHits,
this.maxValuesPerFacet,
this.sortFacetValuesBy,
this.attributeCriteriaComputedByMinProximity,
@@ -192,9 +191,11 @@ final class SearchParamsObject {
@JsonKey(name: r'minimumAroundRadius')
final int? minimumAroundRadius;
- /// Coordinates for a rectangular area in which to search. Each bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair: `[p1 lat, p1 long, p2 lat, p2 long]`. Provide multiple bounding boxes as nested arrays. For more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).
+ /// One of types:
+ /// - [List>]
+ /// - [String]
@JsonKey(name: r'insideBoundingBox')
- final List>? insideBoundingBox;
+ final dynamic insideBoundingBox;
/// Coordinates of a polygon in which to search. Polygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude. Provide multiple polygons as nested arrays. For more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas). This parameter is ignored if you also specify `insideBoundingBox`.
@JsonKey(name: r'insidePolygon')
@@ -363,9 +364,11 @@ final class SearchParamsObject {
@JsonKey(name: r'advancedSyntax')
final bool? advancedSyntax;
- /// Words that should be considered optional when found in the query. By default, records must match all words in the search query to be included in the search results. Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words. For example, if the search query is \"action video\" and \"video\" is an optional word, the search engine runs two queries. One for \"action video\" and one for \"action\". Records that match all words are ranked higher. For a search query with 4 or more words **and** all its words are optional, the number of matched words required for a record to be included in the search results increases for every 1,000 records: - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down). For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words. For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
+ /// One of types:
+ /// - [String]
+ /// - [List]
@JsonKey(name: r'optionalWords')
- final List? optionalWords;
+ final dynamic optionalWords;
/// Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). Attribute names are case-sensitive. This can be useful for attributes with long values, where the likelihood of an exact match is high, such as product descriptions. Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. This reduces the impact of individual attributes with a lot of content on ranking.
@JsonKey(name: r'disableExactOnAttributes')
@@ -402,11 +405,6 @@ final class SearchParamsObject {
@JsonKey(name: r'responseFields')
final List? responseFields;
- /// Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
- // maximum: 100
- @JsonKey(name: r'maxFacetHits')
- final int? maxFacetHits;
-
/// Maximum number of facet values to return for each facet.
// maximum: 1000
@JsonKey(name: r'maxValuesPerFacet')
@@ -509,7 +507,6 @@ final class SearchParamsObject {
other.replaceSynonymsInHighlight == replaceSynonymsInHighlight &&
other.minProximity == minProximity &&
other.responseFields == responseFields &&
- other.maxFacetHits == maxFacetHits &&
other.maxValuesPerFacet == maxValuesPerFacet &&
other.sortFacetValuesBy == sortFacetValuesBy &&
other.attributeCriteriaComputedByMinProximity ==
@@ -539,7 +536,7 @@ final class SearchParamsObject {
aroundRadius.hashCode +
aroundPrecision.hashCode +
minimumAroundRadius.hashCode +
- insideBoundingBox.hashCode +
+ (insideBoundingBox == null ? 0 : insideBoundingBox.hashCode) +
insidePolygon.hashCode +
naturalLanguages.hashCode +
ruleContexts.hashCode +
@@ -580,7 +577,7 @@ final class SearchParamsObject {
mode.hashCode +
semanticSearch.hashCode +
advancedSyntax.hashCode +
- optionalWords.hashCode +
+ (optionalWords == null ? 0 : optionalWords.hashCode) +
disableExactOnAttributes.hashCode +
exactOnSingleWordQuery.hashCode +
alternativesAsExact.hashCode +
@@ -589,7 +586,6 @@ final class SearchParamsObject {
replaceSynonymsInHighlight.hashCode +
minProximity.hashCode +
responseFields.hashCode +
- maxFacetHits.hashCode +
maxValuesPerFacet.hashCode +
sortFacetValuesBy.hashCode +
attributeCriteriaComputedByMinProximity.hashCode +
diff --git a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.g.dart b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.g.dart
index 7cd278bd90..8b20770d5d 100644
--- a/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.g.dart
+++ b/clients/algoliasearch-client-dart/packages/algoliasearch/lib/src/model/search_params_object.g.dart
@@ -38,13 +38,7 @@ SearchParamsObject _$SearchParamsObjectFromJson(Map json) =>
aroundPrecision: $checkedConvert('aroundPrecision', (v) => v),
minimumAroundRadius: $checkedConvert(
'minimumAroundRadius', (v) => (v as num?)?.toInt()),
- insideBoundingBox: $checkedConvert(
- 'insideBoundingBox',
- (v) => (v as List?)
- ?.map((e) => (e as List)
- .map((e) => (e as num).toDouble())
- .toList())
- .toList()),
+ insideBoundingBox: $checkedConvert('insideBoundingBox', (v) => v),
insidePolygon: $checkedConvert(
'insidePolygon',
(v) => (v as List?)
@@ -129,8 +123,7 @@ SearchParamsObject _$SearchParamsObjectFromJson(Map json) =>
? null
: SemanticSearch.fromJson(v as Map)),
advancedSyntax: $checkedConvert('advancedSyntax', (v) => v as bool?),
- optionalWords: $checkedConvert('optionalWords',
- (v) => (v as List?)?.map((e) => e as String).toList()),
+ optionalWords: $checkedConvert('optionalWords', (v) => v),
disableExactOnAttributes: $checkedConvert('disableExactOnAttributes',
(v) => (v as List