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

Title-search does not scale #109

Open
rgaudin opened this issue May 13, 2020 · 7 comments
Open

Title-search does not scale #109

rgaudin opened this issue May 13, 2020 · 7 comments
Labels
Milestone

Comments

@rgaudin
Copy link
Member

rgaudin commented May 13, 2020

Contributed feature --title-search adds a text input in home UI to type the beginning of a title and display suggestions.

This is done the same way the authors suggestion works, by dumping all books infos in a large javascript array.

While this is OK on small selections, it would freeze the UI and may lead to memory issue on large selections (dozens of thousands of books).

We should:

  • Try to understand how many books is too much for this feature
  • Inform about its limits in the usage
  • consider rewriting the feature in a more robust manner (use an indexed db)
@rgaudin rgaudin added the bug label May 13, 2020
@kelson42
Copy link
Contributor

Clearly a blocker for a new release to me.

@rgaudin
Copy link
Member Author

rgaudin commented May 16, 2020

As this is a new, not yet deployed feature, I'd be fine with either disabling it in next release or (as suggested above), add a warning so that user know to use it only on limited sets.

This could be fixed in the following release.

@satyamtg
Copy link
Contributor

satyamtg commented May 24, 2020

@rgaudin @kelson42 , I don't know a lot about IndexedDB but from what I know -

  • It can only be used inside the browser
  • It's used to store javascript objects as key-value pairs

Now, since we have hundreds of thousands of book names, the problem would be importing such large data from the file that we create using python. Like importing that data to the indexeDB would certainly take some time (BTW this seems to do it easily), for the first run and maybe updating on subsequent runs (if the database is lost), but would be less heavy on resources.

I think going with Dexie.js would be a good choice instead of a pure indexedDB implementation (although I may be wrong on this) as it provides easy import and we can write the json from python easily.

What do you suggest?

@rgaudin
Copy link
Member Author

rgaudin commented May 24, 2020

We had a POC with PouchDB that demonstrated it would be ok. that’s what nautilus uses. I’ll fill you in

@kelson42 kelson42 pinned this issue Jun 18, 2020
@stale
Copy link

stale bot commented Aug 22, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

@stale stale bot added the stale label Aug 22, 2020
@stale stale bot removed the stale label Jul 28, 2021
@stale
Copy link

stale bot commented Oct 2, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

@stale stale bot added the stale label Oct 2, 2021
@kelson42 kelson42 added this to the 2.0.0 milestone Dec 17, 2022
@stale stale bot removed the stale label Dec 17, 2022
@stale
Copy link

stale bot commented May 26, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions.

@stale stale bot added the stale label May 26, 2023
@kelson42 kelson42 changed the title title-search does not scale Title-search does not scale Aug 18, 2023
@stale stale bot removed the stale label Aug 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants