Improve search index performance with lazy loading and compression
I maintainer di solito rispondono entro 3 giorni
@seansica ci sta già lavorando.
Dal 20/4/2023.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
The current search solution for a website involves a FlexSearch Document that has two search indexes for page titles and content. This is used to index around 3704 objects on 1852 pages. It takes approximately 5-6 seconds to index all objects using the SearchService.initializeAsync method, which causes a noticeable delay for website visitors when the website is loaded for the first time.
The delay is caused by two things: downloading the JSON files containing the index-able items and the time it takes to index them in the FlexSearch Document. However, the delay only persists the first time a user visits the website because the search index and the index-able items are cached in IndexedDB, which allows the search index to be restored without having to re-download the items and re-generate the search index.
To improve the user experience, we can potentially reduce the time it takes to generate the search index by assigning each search index to a web worker and increasing the number of search indexes. This will enable lazy loading of search results as they are returned from each individually threaded search index, resulting in an improved user experience because results can be rendered as they are yielded. This is faster than generating and querying one massive search index.
Additionally, we can potentially reduce the time incurred from downloading JSON files by reducing the size of the files and using compression.
- Lingua principale
- HTML
- Stelle
- 590
- Fork
- 175
- Merge medio
- 2g 7h
- PR unite (30g)
- 3
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di mitre-attack/attack-website
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mitre-attack/attack-website#628 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Search result ordering issueAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
mitre-attack/attack-website#626 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
mitre-attack/attack-website#596 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
mitre-attack/attack-website#571 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 3 giorni
-
[Accessibility] Navbar logo missing alt text causing WCAG violationForse di nuovo libera @jondricek l’ha presa 233 giorni fa e non c’è nessuna pull request aperta. Aperta
mitre-attack/attack-website#563 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni