Repeated Objects On Different Pagination Pages - Flutter

I am trying to get a simple pagination working on Flutter. However, I get repeated objects in different pages.

The code where I execute and process the query result is the following:

  Future<void> fetchProductsFromSearch() async {
    AlgoliaQuery query = _algoliaClient.instance
        .index('products')
        .setHitsPerPage(documentLimit)
        .setPage(_currentSearchPage);

    if (_range != null) {
      query = query
          .setNumericFilter("price:${_range!['min']!} TO ${_range!['max']!}");
    }

    AlgoliaQuerySnapshot snapshot =
        await query.query(_searchQuery).getObjects();

    final rawHits = snapshot.toMap()['hits'] as List;

    if (rawHits.isEmpty) {
      return;
    }

    final hits = rawHits
        .map<ProductModel>((e) => ProductModel.fromJsonSearch(e))
        .toList();
    //hits.sort((a, b) => a.price.compareTo(b.price));
    log.i("_currentSearchPage $_currentSearchPage");
    log.i('hits: ${hits.length}');
    log.i(hits.map((e) => e.id).toList());
    _products.addAll(hits);
    _currentSearchPage += 1;
    notifyListeners();
  }

The widget that calls the function is the following:

Expanded(
          child: NotificationListener<ScrollNotification>(
            onNotification: (ScrollNotification notification) {
              if (notification.metrics.pixels ==
                  notification.metrics.maxScrollExtent) {
                setState(() {
                  isLoading = true;
                });

                if (_pageState == PageState.category) {
                  productsProvider.fetchProducts();
                } else {
                  productsProvider.fetchProductsFromSearch();
                }

                setState(() {
                  isLoading = false;
                });
              }
              return false;
            },
            child: const ProductsGrid(),
          ),
        ),

The logs from fetchProductsFromSearch are

│ #0   packages/molify_app/providers/products_provider.dart 29:35           fetchProductsFromSearch
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ 💡 hits: 10
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ #0   packages/molify_app/providers/products_provider.dart 11:9            fetchProductsFromSearch
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ 💡 [
│ 💡   "m5MnPKPyvmisvOl1xU48",
│ 💡   "RGkKIM3zLmZ6Q38Ggg7I",
│ 💡   "OIfKkn9WxlCzD3MGj7vD",
│ 💡   "NcnKUeTy7Mxjj0yWXiMU",
│ 💡   "HCofoaJ8dH5of5AnwXYl",
│ 💡   "EQr4jWPuwYpB9AhjOKX6",
│ 💡   "0Y0zOoWAa401fkHmK6uP",
│ 💡   "zV7Uc4MqPtTZPHuKp6vl",
│ 💡   "utEjPBUMWS4iTgwV29FX",
│ 💡   "tsSL6BVTAbimqofeRxXK"
│ 💡 ]
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ #0   packages/molify_app/providers/products_provider.dart 153:3           fetchProductsFromSearch
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ 💡 _currentSearchPage 4
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ #0   packages/molify_app/providers/products_provider.dart 29:35           fetchProductsFromSearch
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ 💡 hits: 10
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ #0   packages/molify_app/providers/products_provider.dart 11:9            fetchProductsFromSearch
├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
│ 💡 [
│ 💡   "m5MnPKPyvmisvOl1xU48",
│ 💡   "RGkKIM3zLmZ6Q38Ggg7I",
│ 💡   "OIfKkn9WxlCzD3MGj7vD",
│ 💡   "NcnKUeTy7Mxjj0yWXiMU",
│ 💡   "HCofoaJ8dH5of5AnwXYl",
│ 💡   "EQr4jWPuwYpB9AhjOKX6",
│ 💡   "0Y0zOoWAa401fkHmK6uP",
│ 💡   "zV7Uc4MqPtTZPHuKp6vl",
│ 💡   "utEjPBUMWS4iTgwV29FX",
│ 💡   "tsSL6BVTAbimqofeRxXK"
│ 💡 ]

As you can see, page 2 the objects are the same.

On settings, I am ordering by the product price – in case this is relevant.

What could be the issue here?

Thank you,