-
Notifications
You must be signed in to change notification settings - Fork 0
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
Adds endpoints for building search-context for single contentURI #173
Conversation
src/main/java/no/ndla/taxonomy/service/dtos/SearchableTaxonomyContextDTOFactory.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/SearchableTaxonomyResourceType.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/SearchableTaxonomyResourceType.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/service/dtos/SearchableTaxonomyContextDTOFactory.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CachedPath blei jo innført for å slippe å regne ut path til en node ved kvar henting, og det du gjør her er å gå tilbake til å gjøre akkurat det. I denne konteksten gir det meining i og med at du kun skal hente ut kontekster for indeksering. Men det hadde vore fint å kunne få kontekstinformasjon på andre endepunkt også.
Eg har prøvd å finne ut korleis vi skal kunne skille på kontekster for en ressurs som ligg under et fag og under et emne/morfag/programområde, og dette er eit svar på det. Men for å få til det treng vi å kunne hente kontekst basert på en node-id + rot-id. Altså at du ser på en ressurs under et programområde, og ved å sende inn id til programområdet til /v1/resources/?rootId= så får du pather relativt til rota og ikkje berre til subject.
Eg seier ikkje at vi skal implementere dette i denne pr, men det kan være lurt å ha det i bakhodet.
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/SearchableTaxonomyContextDTO.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/SearchableTaxonomyContextDTO.java
Outdated
Show resolved
Hide resolved
This endpoint will simplify building contexts for single articles. This should speed up indexing a single article (or very few articles), fairly dramatically as search-api no longer needs to fetch every node and their connections.
ca9295e
to
5f9393f
Compare
Co-authored-by: Gunnar Velle <gunnar.velle@gmail.com>
…archableTaxonomyContextDTO.java Co-authored-by: Gunnar Velle <gunnar.velle@gmail.com>
0a5fb3c
to
b67a684
Compare
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/SearchableTaxonomyResourceType.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/service/dtos/TaxonomyContextDTOFactory.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/service/dtos/TaxonomyContextDTOFactory.java
Outdated
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/rest/v1/dtos/nodes/searchapi/TaxonomyContextDTO.java
Show resolved
Hide resolved
src/main/java/no/ndla/taxonomy/service/dtos/TaxonomyContextDTOFactory.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
En liten forbedringsforslag. Ellers lgtm
|
||
public record TaxonomyContextDTO( | ||
@JsonProperty @Schema(description = "The public-id of the node connected via content-uri") URI id, | ||
@JsonProperty @Schema(description = "The id of the root parent of the context") URI subjectId, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kunne kanskje kalla denne rootId for å passe med dok.
@JsonProperty @Schema(description = "The id of the root parent of the context") URI subjectId, | |
@JsonProperty @Schema(description = "The id of the root parent of the context") URI rootId, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Den finnes allerede i denne, så hadde vært nice å bare beholdt de samme navnene enn så lenge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greit nok!
Kom på en ting. Tar denne koden høgde for at alle noder kan markeres som kontekst? Altså at et emne kan være kontekst og dermed ha gyldige adresser /subject/topic/topic og /topic/topic? |
Dette endepunktet vil forhåpentligvis ta over for oppbyggingen i search-api. I alle fall for enkelt-lagringer av artikler.
Vil forhåpentligvis gjøre lagring (indeksering av lagring) raskere og mer robust.
Vi kan vurdere om vi i fremtiden vil flytte all logikken for oppbyggingen av context til taxonomy-api for å slippe å ha duplisert logikk, men mistenker at det kanskje er litt jobb for å få det performant nok.
Kommer en PR i
backend
som kan brukes for å teste.