From 26246cd9021deb43514610e745c9b6e635446889 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Mon, 23 Oct 2023 05:00:58 +0530 Subject: [PATCH] add parition based search - optimize user search based on partition and denormalization --- .../hpostesting/presentation/dashboard/HomeFragment.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 7e464e1..f6c97de 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -201,8 +201,13 @@ class HomeFragment : Fragment() { ) it.titlecase(Locale.getDefault()) else it.toString() } - val query = Firebase.firestore.collection("patientData").orderBy(field).startAt(search) - .endAt(search + "\uf8ff") + val currentDate = Date() + val dateFormat = SimpleDateFormat("yyyyMMdd") + val partition = dateFormat.format(currentDate) + val searchTerm = partition + search + val searchField = field + "Search" + val query = Firebase.firestore.collection("patientData").orderBy(searchField).startAt(searchTerm) + .endAt(searchTerm + "\uf8ff") val recyclerViewOptions = FirestoreRecyclerOptions.Builder().setQuery(query, UserData::class.java) .build()