Jag håller på med ett redaktionellt verktyg för journalistiska texter. Texterna är i och för sig inte så långa (1500-10000-tecken), men de kommer att bli många. Nu undrar jag hur man bör bygga upp en söktabell för att slippa söka igenom hela artiklarna.
articleSearch
articleId
keywords
Är det så man bör göra?
Kruxet då är att nyckelorden får läggas in manuellt när man skapar en ny artikel.
Recept:
1 st tabell med artiklar.
1 st tabell med ord.
1 st tabell som sammanfogar ord med artikel via en relation.
Tillagning:
Varje ord förekommer endast en gång, men kan relateras till flera artiklar. När du skapar en ny artikel, slänger du in alla nya ord i ord-tabellen. Ord som redan finns inlagda lägger du inte in igen, utan skapar bara en ny relation mellan ordet och artikeln. Tillsätt en gnutta salt, smaka av och njut! ;)
Att göra som i ditt exempel med articleId och keywords, går ifrån normalisering och skapar problem i framtiden. Det blir ju ändå fulltextsökningar som du får göra i keywords-fältet. Nu kan du i stället förlita dig på index och få blixtsnabba sökningar.
Det verkar vara ett användbart tillvägagångssätt. Nu är nästa fråga hur detta görs smidigt. Man kan ju splitta texten vid varje mellanslag och sidan filtrera bort skiljetexten. Då har jag alla ord i en array.
Hur får jag in orden från arrayen i tabellen på ett vettigt sätt. Ord-kolumnen får vara unik, men att loopa igenom arrayen och göra en förekomstkontroll och insert för varje varv är uteslutet.
Har Pace (eller någon annan) något recept på detta också? ;)
Åsikterna verkar gå lite isär i detta ämnet. Flera hävdar att jag kan köra FullText-Search på artikeltabellen utan problem, och andra förespråkar en söktabell. Jag får kanske lägga in ett par tusen poster och testa mig fram.
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e