Skip to content
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

Use a proper client-side search engine library to power the search functionality in our pages #111

Closed
Tracked by #93 ...
zainfathoni opened this issue Jul 17, 2021 · 3 comments · Fixed by #136
Closed
Tracked by #93 ...
Labels
enhancement New feature or request

Comments

@zainfathoni
Copy link
Member

zainfathoni commented Jul 17, 2021

For better search results, maybe a full-text search can be used?

The potential libraries are:

@zainfathoni zainfathoni added the enhancement New feature or request label Jul 17, 2021
@zainfathoni zainfathoni added this to Needs triage in Prioritization via automation Jul 18, 2021
@zainfathoni zainfathoni added this to To do in Kanban Board via automation Jul 18, 2021
@zainfathoni zainfathoni added this to the Further Optimizations milestone Jul 18, 2021
@zainfathoni zainfathoni moved this from Needs triage to High priority in Prioritization Jul 18, 2021
@zainfathoni zainfathoni moved this from High priority to Low priority in Prioritization Jul 18, 2021
@zainfathoni zainfathoni moved this from Low priority to High priority in Prioritization Jul 18, 2021
@zainfathoni zainfathoni mentioned this issue Jul 18, 2021
12 tasks
@ekamuktia
Copy link
Collaborator

I'm currently experimenting itemsjs for the search, some things to note:

  • The aggregation feature can be used for filter, but it's case sensitive and need exact term. Some of the data contain trailing spaces and same text with different variations (eg. Jakarta Barat, Jakarta barat). Need to decide whether the data will be cleaned on the source or on the application.
    image
  • Sort can be easily set up (can be helpful if we add sort by feature)
  • There's no function like extractField in Mini Search, so if need it then we need to extend it ourselves. (for example when adding Verified column on the data to be indexed)

@zainfathoni
Copy link
Member Author

Need to decide whether the data will be cleaned on the source or on the application.

For the first phase, we can't rely on the cleaning up from the source sheets, because it is done manually. We should try cleaning it up on our side as much as possible.
However, in the future, we can try to implement a proper Data Validation mechanism in the Google Sheet. I need to talk to Mas Awe about it.

Sort can be easily set up (can be helpful if we add sort by feature)

Yes, please. Btw, based on #131, we shouldn't provide Terverifikasi filter and sort options for the users, but we should always prioritise the verified ones over the non-verified ones.

There's no function like extractField in Mini Search, so if need it then we need to extend it ourselves. (for example when adding Verified column on the data to be indexed)

Then let's focus on the itemsjs first. Moreover, please try to minimize its performance impact into our website by importing the library dynamically if possible. Thanks!

Btw, could you please submit a Draft Pull Request and link it to this issue to signal other contributors that you have started working on it? Thanks, Mbak @ekamuktia!

@ekamuktia
Copy link
Collaborator

@zainfathoni Okay, sure! I'll work on this part then

Kanban Board automation moved this from To do to Done Jul 19, 2021
Prioritization automation moved this from High priority to Closed Jul 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging a pull request may close this issue.

2 participants