Projekt

Generelt

Profil

Enhancement #4214

Optimering af søgehastighed ved gennem afkobling af entity model

Tilføjet af Kasper Garnæs for 11 dage siden. Opdateret for 4 dage siden.

Status:
New
Prioritet:
Normal
Tildelt til:
Udgave:
-
Anslået tid:
URL med eksempel:
Kategorier:
Driftsvedligehold - Refaktorering (Opdatering af kodebasen), Søgning - Søgeresultat efter søg - Brønd

Beskrivelse

Når materialer vises i DDB CMS benyttes Drupals entity model som ramme for at styre:

  1. Hvilke data (felter) der findes for hvert materiale
  2. Hvordan de skal vises (udvælgelse og rækkefølge)

Denne model er kompleks at beregne og kræver potentielt set yderligere kald til OpenSearch, som pt. forsøges omgået igennem caching. Alt i alt medfører det længere svartider.

Historisk har det vist sig begrænset hvor meget disse features er blevet brugt i forbindelse med visning af søgeresultater.

På den baggrund har Árni Loftsson fra Randers Bibliotekerne foreslået at reducere svartiden ved søgeresultater ved at afkoble visningen af disse fra entity modellen.

Afkoblingen skal tage hensyn til at systemet ud over DDB CMS også bliver brugt i andre sammenhænge fx. eReolen.dk, og at disse sites muligvis bruger entity modellen til tilpasning af deres resultater.

Historik

#1 Opdateret af Kasper Garnæs for 11 dage siden

  • Kategorier Søgning - Søgeresultat efter søg - Brønd tilføjet


Jeg har arbejdet videre på forslaget her for at vise hvordan det kunne fungere i praksis: https://github.com/ding2/ding2/pull/1386.

Der er som jeg ser det to centrale ændringer, som jeg gerne vil have feedback på:

1. Introduktionen af en theme hook til rendering af søgeresultater: https://github.com/ding2/ding2/pull/1386/commits/00949a484d2c97c2f09b8ee304fa7dd038c62017

2. Tilgangen hvor vi abstraherer dataudtræk fra materialer væk fra feltvisning. Eksempel med serieinformation: https://github.com/ding2/ding2/pull/1386/commits/54d8219c3be88114f8c2c7064735cc041023bdb5

 

Ovenstående er kun ment som en start. I forhold til det implementerede manger der stadig afdækning af en række af de mere komplekse felter bl.a.: tilgængelighed, forsider og ratings. Jeg forventer at de vil følge samme struktur som serierne.

#2 Opdateret af Árni Loftsson for 4 dage siden

Jeg synes det ser rigtig godt ud og en god måde at bypasse entitetsmodellen på. Jeg synes brugen af theme hook er god løsning som skaber fleksibilitet. Jeg kan også rigtig godt lide at vi abstraherer dataudtræk fra materialer væk fra feltvisning. Det er et rigtigt godt skridt i retningen af skille forretningslogiken fra visningslogikken. Det gør hver form for migration til ny Drupal eller andet system nemmere. Og som en som har brugt rigtig meget tid på lede efter funktionalitet i DDBCMS bare det at metoden nu er navngivet i relation til det den gør er en kæmpe hjælp.

Eksporter til Atom PDF