@@ -3,6 +3,7 @@ package suite
33import clientAdmin1
44import com.algolia.search.helper.toAttribute
55import com.algolia.search.model.filter.Filter
6+ import com.algolia.search.model.filter.FilterGroup
67import com.algolia.search.model.search.FacetStats
78import com.algolia.search.model.search.Query
89import com.algolia.search.model.search.get
@@ -48,12 +49,14 @@ internal class TestSuiteDisjunctive {
4849 query = " phone" ,
4950 facets = facets
5051 )
51- val disjunctiveFacets = listOf (brand)
5252 val filters = setOf (
5353 Filter .Facet (brand, " Apple" ),
5454 Filter .Facet (brand, " Samsung" ),
55- Filter .Facet (brand, " Commas' voice, Ltd" ),
56- Filter .Facet (category, " device" )
55+ Filter .Facet (brand, " Commas' voice, Ltd" )
56+ )
57+ val filterGroups = setOf (
58+ FilterGroup .Or .Facet (filters),
59+ FilterGroup .And .Facet ( Filter .Facet (category, " device" ))
5760 )
5861
5962 index.apply {
@@ -64,7 +67,7 @@ internal class TestSuiteDisjunctive {
6467
6568 tasks.wait().all { it is TaskStatus .Published }.shouldBeTrue()
6669 }
67- index.searchDisjunctiveFacets (query, disjunctiveFacets, filters ).let {
70+ index.advancedSearch (query, filterGroups ).let {
6871 it.nbHits shouldEqual 4
6972 it.disjunctiveFacetsOrNull.shouldNotBeNull()
7073 it.disjunctiveFacets[brand, " Apple" ] shouldEqual 2
@@ -92,8 +95,8 @@ internal class TestSuiteDisjunctive {
9295 query = " h" ,
9396 facets = setOf (city)
9497 )
95- val disjunctiveFacets = listOf (stars, facilities)
9698 val filters = mutableSetOf<Filter .Facet >()
99+ val filterCity = FilterGroup .And .Facet (Filter .Facet (city, " Paris" ))
97100
98101 index.apply {
99102 val tasks = mutableListOf<Task >()
@@ -103,74 +106,45 @@ internal class TestSuiteDisjunctive {
103106
104107 tasks.wait().all { it is TaskStatus .Published }.shouldBeTrue()
105108 }
106- index.searchDisjunctiveFacets (query, disjunctiveFacets, filters ).let {
109+ index.advancedSearch (query).let {
107110 it.nbHits shouldEqual 5
108111 it.facets.size shouldEqual 1
109- it.disjunctiveFacets.size shouldEqual 2
110112 it.exhaustiveFacetsCount.shouldBeTrue()
111- it.disjunctiveFacets.apply {
112- this [stars, " 1" ] shouldEqual 2
113- this [stars, " 2" ] shouldEqual 1
114- this [stars, " 4" ] shouldEqual 2
115- }
116- it.disjunctiveFacets.apply {
117- this [facilities, " spa" ] shouldEqual 3
118- this [facilities, " bath" ] shouldEqual 2
119- this [facilities, " wifi" ] shouldEqual 2
120- }
121- it.facetStats.size shouldEqual 1
122- it.facetStats[stars] shouldEqual FacetStats (1f , 4f , 2f , 12f )
123113 }
124114 filters + = Filter .Facet (stars, " 1" )
125- index.searchDisjunctiveFacets (query, disjunctiveFacets, filters).let {
115+ index.advancedSearch (query, setOf ( FilterGroup . Or . Facet ( filters)) ).let {
126116 it.nbHits shouldEqual 2
127117 it.facets.size shouldEqual 1
128- it.disjunctiveFacets.size shouldEqual 2
118+ it.disjunctiveFacets.size shouldEqual 1
129119 it.disjunctiveFacets.apply {
130120 this [stars, " 1" ] shouldEqual 2
131121 this [stars, " 2" ] shouldEqual 1
132122 this [stars, " 4" ] shouldEqual 2
133123 }
134- it.disjunctiveFacets.apply {
135- this [facilities, " spa" ] shouldEqual 1
136- this [facilities, " bath" ] shouldEqual 1
137- this [facilities, " wifi" ] shouldEqual 2
138- }
139124 it.exhaustiveFacetsCount.shouldBeTrue()
140125 it.facetStats.size shouldEqual 1
141126 it.facetStats[stars] shouldEqual FacetStats (1f , 4f , 2f , 12f )
142127 }
143- filters + = Filter .Facet (city, " Paris" )
144- index.searchDisjunctiveFacets(query, disjunctiveFacets, filters).let {
128+ index.advancedSearch(query, setOf (FilterGroup .Or .Facet (filters), filterCity)).let {
145129 it.nbHits shouldEqual 2
146130 it.facets.size shouldEqual 1
147- it.disjunctiveFacets.size shouldEqual 2
131+ it.disjunctiveFacets.size shouldEqual 1
148132 it.disjunctiveFacets.apply {
149133 this [stars, " 1" ] shouldEqual 2
150134 this [stars, " 4" ] shouldEqual 1
151135 }
152- it.disjunctiveFacets.apply {
153- this [facilities, " spa" ] shouldEqual 1
154- this [facilities, " bath" ] shouldEqual 1
155- this [facilities, " wifi" ] shouldEqual 2
156- }
157136 it.facetStats.size shouldEqual 1
158137 it.facetStats[stars] shouldEqual FacetStats (1f , 4f , 2f , 6f )
159138 }
160139 filters + = Filter .Facet (stars, " 4" )
161- index.searchDisjunctiveFacets (query, disjunctiveFacets, filters ).let {
140+ index.advancedSearch (query, setOf ( FilterGroup . Or . Facet (filters), filterCity) ).let {
162141 it.nbHits shouldEqual 3
163142 it.facets.size shouldEqual 1
164- it.disjunctiveFacets.size shouldEqual 2
143+ it.disjunctiveFacets.size shouldEqual 1
165144 it.disjunctiveFacets.apply {
166145 this [stars, " 1" ] shouldEqual 2
167146 this [stars, " 4" ] shouldEqual 1
168147 }
169- it.disjunctiveFacets.apply {
170- this [facilities, " spa" ] shouldEqual 2
171- this [facilities, " bath" ] shouldEqual 1
172- this [facilities, " wifi" ] shouldEqual 2
173- }
174148 it.facetStats.size shouldEqual 1
175149 it.facetStats[stars] shouldEqual FacetStats (1f , 4f , 2f , 6f )
176150 }
0 commit comments