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

Subject index #608

Merged
merged 20 commits into from
Mar 5, 2025
Merged

Subject index #608

merged 20 commits into from
Mar 5, 2025

Conversation

gunnarvelle
Copy link
Member

Add indexing of subjects

@jnatten jnatten self-assigned this Feb 20, 2025
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dersom målet på sikt er å kunne søke på alle noder, bør du sikkert også ha med contexts for å støtte alle plasseringer en node kan ha i struktur. Dersom kun fag skal vises, er det du har nok.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usikker på om det er problematisk, men for alle andre søkeresultat så peiker url på api-url, men det returneres liste med context som har url som er korrekt frontendurl. Burde kanskje gjort det likt her.

@gunnarvelle
Copy link
Member Author

Er det meininga at det skal være NodeHitDTO?

"results": [
    {
      "id": "urn:subject:d1fe9d0a-a54d-49db-a4c2-fd5463a7c9e7",
      "title": "Tverrfaglige temaer",
      "url": "http://localhost:30017/f/tverrfaglige-temaer/daaf4e2dd8b0",
      "typename": "NodeHitDTO"
    }, ...
]```

@jnatten
Copy link
Contributor

jnatten commented Feb 24, 2025

Er det meininga at det skal være NodeHitDTO?

"results": [
    {
      "id": "urn:subject:d1fe9d0a-a54d-49db-a4c2-fd5463a7c9e7",
      "title": "Tverrfaglige temaer",
      "url": "http://localhost:30017/f/tverrfaglige-temaer/daaf4e2dd8b0",
      "typename": "NodeHitDTO"
    }, ...
]```

Har du frontpage-api kjørende med data?

@gunnarvelle
Copy link
Member Author

Bedre!:

{
      "id": "urn:subject:d1fe9d0a-a54d-49db-a4c2-fd5463a7c9e7",
      "title": "Tverrfaglige temaer",
      "url": "http://localhost:30017/f/tverrfaglige-temaer/daaf4e2dd8b0",
      "subjectPage": {
        "id": 239,
        "name": "Tverrfaglige tema",
        "metaDescription": {
          "metaDescription": "Folkehelse og livsmestring, demokrati og medborgerskap, bærekraftig utvikling",
          "language": "nb"
        }
      },
      "typename": "NodeHitDTO"
    }

@gunnarvelle
Copy link
Member Author

Er denne egentlig klar for review?

@jnatten
Copy link
Contributor

jnatten commented Feb 24, 2025

Er denne egentlig klar for review?

Jeg kom på at jeg hadde lagt igjen en todo på suggestions, så jeg burde sikkert se mer på det før vi prøver å merge den.
Alt annet er jo klart, men jeg vet ikke helt hva som er galt med den så kan jo kanskje bli uforutsette endringer 🤔

Since we are already over the limit if we don't use dynamic mapping,
this is the first attempt at removing some unused language fields.
We can just use the `domainObject` mapping for this instead since we are
not searching the field.
This is to limit the sizes of the indexes.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
Even though the problems with dynamic mappings are most prevalent in search-api.
I see no reason to keep using it in all places when search-api does not.
@jnatten
Copy link
Contributor

jnatten commented Feb 27, 2025

Tror denne er klar for review nå.

Sluttet å bruke dynamisk mapping rundtomkring med grunnlag i at vi mister litt kontroll på hva som kan søkes på og ikke; da det fort er basert på dataen som er indeksert.

Feks problemet som oppstod her var at vi ikke kunne bruke suggestions på multi-index søket i search-api når vi fikk inn node indexen siden suggestionen gjør at hele søket på node sharden feiler siden feltet "content.nb" ikke fantes.
Selvom vi la inn dynamisk mapping på det så vil ikke feltet finnes før det faktisk kommer inn data.

Ser for meg at det er lett å skyte seg selv i foten med senere dersom vi bruker et sjeldent språk i en av index'ene for eksempel.

Siden vi fjerner dynamisk mapping så får vi litt begrensninger på hvor mange språk vi kan støtte samtidig med denne modellen, så la inn et konfigurasjonsflagg for å bestemme hvilke fag som støttes.

Vurderte å endre modellen til å bruke nested dokumenter for språkfelter å fremdeles kunne støtte alle språkene samtidig, men følte det kanskje var et unødvendig ytelse-hit om vi kan leve med å støtte litt færre språk samtidig. Syns den løsningen hadde vært "cleanere" kodemessig, men mtp usikker ytelse så blir nok dette "tryggest" 🤓

@jnatten jnatten marked this pull request as ready for review February 27, 2025 06:59
@@ -58,6 +58,15 @@ trait BaseProps {
def TaxonomyUrl: String = s"http://$TaxonomyApiHost"
def disableWarmup: Boolean = booleanPropOrElse("DISABLE_WARMUP", default = false)

def SupportedLanguages: List[String] =
propOrElse("SUPPORTED_LANGUAGES", "nb,nn,en,sma,se,de,es,zh,ukr").split(",").toList
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disse er de som finnes i ed pr nå, men tar i mot forslag på hvilke vi trenger.
Jo færre jo bedre egentlig da 🤓

@gunnarvelle
Copy link
Member Author

Kan merge denne no regner eg med.

@jnatten jnatten merged commit f3b00c0 into master Mar 5, 2025
30 checks passed
@jnatten jnatten deleted the subject-index branch March 5, 2025 05:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants