Skip to content

Commit 3573863

Browse files
feat(virtual indices): Virtual indices related parameters (#727)
* Add `relevancyStrictness` to Search and Settings parameters * Add `appliedRelevancyStrictness` and `nbSortedHits` fields to search response
1 parent 13f9db6 commit 3573863

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

Sources/AlgoliaSearchClient/Models/Common/CommonParameters.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,5 +276,14 @@ public protocol CommonParameters {
276276
- [Documentation](https://www.algolia.com/doc/api-reference/api-parameters/attributeCriteriaComputedByMinProximity/?language=swift)
277277
*/
278278
var attributeCriteriaComputedByMinProximity: Bool? { get set }
279-
279+
280+
/**
281+
The relevancy threshold to apply to search in a virtual index [0-100]. A Bigger
282+
value means fewer, but more relevant results, smaller value means more, but
283+
less relevant results.
284+
- Engine default: false
285+
- [Documentation](https://www.algolia.com/doc/api-reference/api-parameters/?language=swift)
286+
*/
287+
var relevancyStrictness: Int? { get set }
288+
280289
}

Sources/AlgoliaSearchClient/Models/Search/Response/SearchResponse/SearchResponse.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,16 @@ public struct SearchResponse {
224224
Meta-information as to how the query was processed.
225225
*/
226226
public var explain: Explain?
227+
228+
/**
229+
The relevancy threshold applied to search in a virtual index.
230+
*/
231+
public var appliedRelevancyStrictness: Int?
232+
233+
/**
234+
Subset of hits selected when relevancyStrictness is applied.
235+
*/
236+
public var nbSortedHits: Int?
227237

228238
public init(hits: [Hit<JSON>] = []) {
229239
self.hits = hits

Sources/AlgoliaSearchClient/Models/Search/SearchParametersStorage.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public struct SearchParametersStorage: SearchParameters, Equatable {
7676
public var attributeCriteriaComputedByMinProximity: Bool?
7777
public var enableABTest: Bool?
7878
public var explainModules: [ExplainModule]?
79+
public var relevancyStrictness: Int?
7980
}
8081

8182
protocol SearchParametersStorageContainer: SearchParameters {
@@ -357,4 +358,8 @@ extension SearchParametersStorageContainer {
357358
get { searchParametersStorage.explainModules }
358359
set { searchParametersStorage.explainModules = newValue }
359360
}
361+
public var relevancyStrictness: Int? {
362+
get { searchParametersStorage.relevancyStrictness }
363+
set { searchParametersStorage.relevancyStrictness = newValue }
364+
}
360365
}

Sources/AlgoliaSearchClient/Models/Settings/SettingsParametersStorage.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ struct SettingsParametersStorage: SettingsParameters {
6565
var userData: JSON?
6666
var version: Int?
6767
var primary: IndexName?
68+
var relevancyStrictness: Int?
6869
}
6970

7071
extension SettingsParametersStorage: Codable {
@@ -305,5 +306,8 @@ extension SettingsParametersStorageContainer {
305306
get { settingsParametersStorage.primary }
306307
set { settingsParametersStorage.primary = newValue }
307308
}
308-
309+
public var relevancyStrictness: Int? {
310+
get { settingsParametersStorage.relevancyStrictness }
311+
set { settingsParametersStorage.relevancyStrictness = newValue }
312+
}
309313
}

0 commit comments

Comments
 (0)