Bruker bør kunne søke etter både <etternavn>, <etternavn>, <fornavn> og <fornavn> <etternavn>. Min første idé var å legge inn et view med ekstra felt etternavn_fornavn og fornavn_etternavn og søke med ILIKE-operatoren og sluttrunkering. Funket bra bortsett for innførsler med flere forfattere, som er ført slik:
etternavn=Bjørneboe, Tollefsen, Børli m. fl.
fornavn=Jens, Astrid, Hans m. fl.
Gir:
etternavn_fornavn=Bjørneboe, Tollefsen, Børli m. fl., Jens, Astrid, Hans m. fl.
fornavn_etternavn=Jens, Astrid, Hans m. fl. Bjørneboe, Tollefsen, Børli m. fl.
og dermed ikke treff på søk etter "Jens Bjørneboe" eller "Bjørneboe, Jens".
Heldigvis har Postgres mulighet for tekstsøk. Jeg bruker konfigurasjonen simple, som konverterer til lowercase, tokeniserer og fjerner skilletegn som komma, men ikke gjør noe stemming. Dette gir treff på "Jens Bjørneboe" og "Bjørneboe, Jens". Selvfølgelig også på "Astrid Bjørneboe" og andre fiktive kombinasjoner, men jeg tror ikke det medfører mye støy.
Etterhvert bør vi se på om vi kan skille ut personene som entiteter i en egen tabell. Det hadde absolutt vært gunstig, men jeg frykter at det vil medføre en del manuell kuratering av vanskelige innførsler. Lar det derfor ligge foreløpig.
Bruker bør kunne søke etter både
<etternavn>
,<etternavn>, <fornavn>
og<fornavn> <etternavn>
. Min første idé var å legge inn et view med ekstra feltetternavn_fornavn
ogfornavn_etternavn
og søke med ILIKE-operatoren og sluttrunkering. Funket bra bortsett for innførsler med flere forfattere, som er ført slik:Gir:
og dermed ikke treff på søk etter "Jens Bjørneboe" eller "Bjørneboe, Jens".
Heldigvis har Postgres mulighet for tekstsøk. Jeg bruker konfigurasjonen
simple
, som konverterer til lowercase, tokeniserer og fjerner skilletegn som komma, men ikke gjør noe stemming. Dette gir treff på "Jens Bjørneboe" og "Bjørneboe, Jens". Selvfølgelig også på "Astrid Bjørneboe" og andre fiktive kombinasjoner, men jeg tror ikke det medfører mye støy.Etterhvert bør vi se på om vi kan skille ut personene som entiteter i en egen tabell. Det hadde absolutt vært gunstig, men jeg frykter at det vil medføre en del manuell kuratering av vanskelige innførsler. Lar det derfor ligge foreløpig.