-
Notifications
You must be signed in to change notification settings - Fork 607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Search in Conversations with Typesense #1511
Conversation
1/ if we need a search feature on the conversation, it must be implemented from the server not local. we can not release a incomplete feature where users might immediately bounce back with the obvious question: why cant i find my conversation from 3 months ago? again, let's clarify the search feature first. my initial questions are: why the user need that feature and what's their next action(after finding their conversation) ? overall, man, the value of that ticket is small but the maintenance efforts is significant. |
1/ Yes I only restored the existing local search, I was waiting for your confirmation on whether I should use Typesense or not. I am not sure if I can answer this question correctly 2/ Yes this is the very initial version to test the hypothesis, we have certain percentage of users making use of the action items by opening each memory detail. With this we only want to test whether more people will start using action items or not because now the friction is a lot less for them (not having to open multiple memories to view action items). If more people actually start using it, then we will move forward with improving it further and adding wow features, if not then we will simply restore the old layout (this is why I did not delete the old layout code and kept it in 3/ Yes I too wanted to use Lmk what we should do with this? Close it? |
@mdmohsin7 maybe think about replacing the bottom nav with icons and if you really need to? Add a tiny text. Most apps have icons and can definitely add more. |
oops! let me drop a super clear message here so that we can move forward even if this ticket is requested by Nik. your high-standard product crafting skill know that the only way to(have a chance to) create a great product is fully understand what and why - the very first step. fighting @mdmohsin7 💪 |
4/ dont store the no-index or non searchable info in typesense.firebase is the master storage. typesense is the search db. |
4/ we can certainly do that, while setting up typesense extension we can define what all fields we want to be indexed 5/ Yes we can do that as well The typesense extension automatically creates a firebase function that gets executed everytime a document is created/updated in the memories collection. And I am using this at the moment in dev environment |
4/ yes. have you done for this step? i guess we will have the updated schema for the future usage ? you know the config file is the key for automating things. 5/ ✅ |
4/ I haven't done typesense setup for prod. Was waiting for your confirmation. Should I do it now? |
Use this version of typesense extension (for backfill support): During the Firestore extension setup, use the following path:
If you use a value other than {userId} to denote the doc id, then it should be updated in the below schema as well. Fields that will be indexed in typesense (means these are the fields that will be searchable and are stored in RAM):
Fields that will be stored in typesense (means the fields which are not there in the above schema will be stored in disk and not RAM):
When we search, it will only return the data that is stored in RAM and Disk, so we won't get the fields like |
lgtm @mdmohsin7 🥳 pls process next steps to make it happen on prod |
Closes #1433
users/{userId}/memories
structured,transcript_segments,created_at,deleted,discarded,started_at,id,finished_at,geolocation,userId
typesense_sync
collection and add docbackfill
with data{'trigger' : true}
The last step can be done once the PR is merged. It should mostly be done during the inactive (or non-peak) hours to avoid missing memories while backfilling
ScreenRecording_12-28-2024.21-38-42_1.1.mp4