Resolve DEICH-5316
Det er relativt stor overhead når vi henter data fra ES, så gikk her for å hente flere resultater én gang i stedet for å hente flere ganger. For at ikke ytelsen skulle bli påvirket i særlig grad har jeg gjort et par generelle forbedringer:
- De feltene som brukes i nøkkelen ved deduplisering i sibyl er flyttet ut som stored fields i ES. Det gjør at vi kan avgjøre om et dokument skal være med i resultatlisten eller ei uten å måtte unmarshale hele dokumentet.
- Sibyl avbryter prosessering av ES-resultater når vi har bygget et resultatsett som er så stort som klienten ba om (hvis klienten ber om 4 og vi henter 8 fra ES, men de 4 første ikke er duplikater på noen måte, så vil ikke de 4 siste prosesseres).
- Man kan med et flagg be sibyl droppe aggregeringsbiten av spørringen mot ES. Aggregeringene brukes kun der vi har filter frontend, så f. eks. på forsiden av deichman.no gjorde det bare søk etter anbefalte medier tregere enn det trengte å være.
Casen hvor vi henter anbefalte utgivelser sortert på anbefalingstidspunktet er spesialbehandlet, siden det er spesielt utsatt for duplikater. Antallet som hentes fra ES er et minimum + et multiplum av antallet klienten ber, slik at vi takler det om flere av de verkene med flest utgivelser skulle bli anbefalt like etter hverandre.
Closes DEICH-5316