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

Add full Text Search feature to search among the various news articles published #111

Open
sachin10101998 opened this issue Feb 25, 2020 · 8 comments
Labels
enhancement New feature or request

Comments

@sachin10101998
Copy link
Contributor

Is your feature request related to a problem?

As the number of news articles published on floeproject.org increases, searching and finding a particular news article and some information inside the article becomes tougher and tougher.

Describe the solution you'd like

There are three ways to implement a search feature.

  1. Using Client-side Javascript libraries such as Elasticlunr or Lunr.
    Since the data and news articles are not continually updated so we don't need a dedicated back end service. Since we have a small amount of simple textual data it’s possible to provide basic search functionality via simple string matching. For example, using JavaScript we could store product data for a website as an array of objects in a JSON file, then fetch the file and iterate over each object to find matches.

Describe alternative solutions you've considered

  1. A dedicated back-end search engine such as Elasticsearch.
  2. Using a database with built-in search functions such as MySQL or MongoDBMongoDB
  3. If we can cache all of our data locally on the client (say less than 20MB) we could consider client-side search.

Additional context or notes

Since the number of articles is limited, so client-side javascript libraries can be used for full-text searching by string matching.

@sachin10101998 sachin10101998 added the enhancement New feature or request label Feb 25, 2020
@sachin10101998
Copy link
Contributor Author

sachin10101998 commented Feb 25, 2020

An example of such a lunr based search feature can be found at this project of mine. I completed this for my GSoC 2019 project and can implement similar such search feature for floeproject too.
Let me know your views about this @jhung , @jobara
Sample screengrab:
Screenshot from 2020-02-26 00-48-07

@shash137
Copy link

@jobara , @jhung I want to work on this issue.

@sachin10101998
Copy link
Contributor Author

@shash137 the GSoC project is going to change the file structure significantly. It's better to wait for the migration to an SSG before this search feature is touched upon. Different SSGs provide different plugins for search, so implementing a search feature for such a small period is not feasible. This is why I left this issue unattended after suggesting it.

@greatislander
Copy link
Contributor

Thanks @sachin10101998 — this is a good candidate for inclusion in the redesign. We've also implemented a Vue-based search of a local JSON index in inclusive-design/wecount.inclusivedesign.ca#223.

@sachin10101998
Copy link
Contributor Author

@greatislander do you plan to create a replica of the Vue based search for Floe too? Given the volume of material to be searched, a lighter search engine could be in place.

@greatislander
Copy link
Contributor

@sachin10101998 Looking at lunr, it seems like it would be a good enhancement for the search on the We Count site too. Thanks! I was just linking to the solution the We Count team had used for reference but lunr seems better.

@kshitij86
Copy link

@sachin10101998 @greatislander Now as the GSoC 2020 phase is over, can I work on this as it's still open and the designs must have been incorporated?

@greatislander
Copy link
Contributor

@kshitij86 The designs have not been completed yet, so we'll be exploring this once that process is done.

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
None yet
Development

No branches or pull requests

4 participants