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

Pole 'licenses.facet' môže obsahovať duplicity #1085

Open
rrandiak opened this issue Sep 4, 2024 · 1 comment
Open

Pole 'licenses.facet' môže obsahovať duplicity #1085

rrandiak opened this issue Sep 4, 2024 · 1 comment

Comments

@rrandiak
Copy link
Contributor

rrandiak commented Sep 4, 2024

Ahoj,

Solr pole licenses.facet môže obsahovať duplicitné licencie. Ak sa v poliach licenses_of_ancestors a licenses nachádza rovnaká licencia, tak sa zapíše do licenses.facet dva krát.

Licencie z tohto poľa vo veľkom využíva klient, a takéto duplicity potom vedú k situáciam kedy je počet dokumentov s nejakou liceniou vyšší ako celkový počet dokumentov vo výsledkoch vyhľadávania. V MZK je to viditeľné napríklad na zbierke EOD open, kde sa nachádza 614 dokumentov a z toho 1198 s public licenciou.

Ďakujem,

Róbert Randiak, MZK

@honza-rychtar
Copy link

To, že licenses.facet obsahuje nějakou licenci víckrát je sice chyba, ale není to příčina.

Vlastně tohle pole by mělo být řešením.

Klient teď používá původní 3 licenční pole

  • licenses - objekt má přímo přiřazené licence - tato jediná je i ve foxml
  • contains_licenses - licence potomků
  • licenses_of_ancestors - licence nadřazených objektů

Normálně by se nemělo stávat, že je stejná licence ve více z těchto polí, ale je to teoreticky možné a nic tomu nebrání.
Klient pak potřebuje zobrazit počty u licencí, což dělá přes facety a potřebuje k tomu všechna 3 pole, která pak vlastně sečte, takže pokud má jeden objekt stejnou licenci ve více polích, tak bude započítán víckrát.

Aby se tohle vyřešilo, tak se právě zavedlo pole licenses.facet, které je sjednocením těch 3 polí a klient pak facetuje pouze toto jedno pole. Jeden objekt tam nemůže být započítaný vícekrát.
Klient tohle pole ale ještě nepoužívá, protože aby se dal nahradit ten původní způsob tím novým polem, tak by muselo výt vše přeindexované.
Už je to nějaká doba, co se to přidalo, tak bychom to tam mohli přidat a podmínit to nějakým nastavení v konfiguraci.
A taky vyzkoušet tato dvě řešení vedle sebe.

Každopádně to duplikování licence v by se dít nemělo. @pavel-stastny koukni na to prosím, např.
https://api.kramerius.mzk.cz/search/api/client/v7.0/search?q=pid:%22uuid:e2f889b0-380e-11ed-aab1-005056827e51%22

...
"licenses_of_ancestors": [
  "public"
],
"licenses": [
  "public"
],
"licenses.facet": [
  "public",
  "public"
],
...

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

No branches or pull requests

2 participants