Fritextsökning i flera nivåer

Programmering

1 svar · 653 visningar · startad av Peeer

Medlem sedan mars 20025 907 inlägg
Trådstart#1

Hej!
Håller på att bygga upp en liten applikation där användarna ska kunna skapa olika typer av objekt. Varje objekt kan i sin tur innehålla ett eller flera underobjekt (bara en nivå av underobjekt, så totalt två olika nivåer av objekt).

* A
** A1
** A2
* B
** B1
* C
* D
** D1
** D2
** D3

Objekten på alla nivåer kommer innehålla texter som jag vill kunna söka på, men jag vill bara få träffar på huvudobjekten. Dvs om jag söker efter något som finns på A1 så vill jag få en träff på A, finns innehållet på B så vill jag få träffen på B. Problemet blir när det blir mer komplexa sökfrågor, ex delar av sökfrasen finns på D1, andra delar på D2 och ytterligare någon del finns på huvudobjektet D. Då hela sökfrågan uppfylls av D (tillsammans med D:s underobjekt) så vill jag få träff på D.

Hur gör man det här på bästa sätt? En tanke är att dubbellagra allt innehåll från underobjekten på huvudobjektet i databasen, på så sätt räcker det med att söka direkt i huvudobjektet (all data finns ju där), men det känns inte helt rätt att duplicera.

.Net är det som används om det påverkar någonting.

Medlem sedan mars 20025 907 inlägg
#2

Ingen som har några tankar?

385 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
116 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)