Jag skall bygga ett söksystem som man kan bygga en "rättstavning" så som google man skall kunna söka på enskilda ord som ingår i texten i tabellens alla columner.
Och helst skall man kunna söka på delar av ord också.
Jag undrar vad som går snabbast/minst belastar en server:
1. Man har en Tabell:
id
col1
col2
col3
col4
och man kör "like" på frågan och gämför med alla columner.
2. Man har 2 tabeller.
Tabell 1:
id
ord
refid
Tabell 2:
id
col1
col2
col3
col4
"Tabell 1"s ord är alla ord som finns i col1,2,3,4 i tabell 2
Refid är "tabell 2"s id.
3. Man har en Tabell:
id
col1
Col 1 inhehåller alla data från alla columner.
Vad är den ultimata lösningen?
Tar gärna imot andra lösningar än de jag har skrivigt upp om de är bättre.
Använder MS SQL 2000 och Asp.Net och jag kan inte använda full-text indexering för mitt webhotell stödjer det inte.
Jag kanske är ute och cyklar för det kanske finns e jätte enkel lösning som inte har slagit mig.
Alltså, frågeställningen verkar lite skum i mina ögon. Hur du bygger din(a) tabell(er) har med strukturen på vad du vill lagra att göra. Vad ska lagras? Vad finns i dina col1-4?
hmm, en databas är till för att lagra data. Jag tror inte du vinner i längden på att ha en dålig databasdesign. Utan använd databasen som den är tänkt att användas. Exakt hur det ska se ut i ditt fall är jag inte så insatt i. :)
Jo visst känns det som det bästa...
Isåfall hur skall jag göra min sökning på bästa sätt?
Jag har 1 alt. 2 sökfält som man skall kunna söka med.
Hur skall man på ett bra sätt ställa en sql fråga som inte kräver för mycket. För den skall ju kolla med alla fält om det överensstämmer och inte hela ord då utan delar av ord.
Jag började på ett sätt:
Jag lade ihop alla columner med mellanrum imellan.
Splittade på mellanrum
la in orden/siffrorna i en tabell med ett refid till den raden där informationen ligger i den första tabellen
Om jag fick upp ordet 2 gånger och la jag bara till ett till refid i tabellen.
Detta funkade jätte bra förutom att det tar ungefär 2-3 månader att "indexera" 600 000 poster.
Det är ju inte så bra plus att det belastar som fan på servern som redan är seg.
och det känns som det blir krångligt att uppdatera information i den första tabellen och i ord refereringstabellen.
Så är det någon som har något bra tips?
261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25