webForumDet fria alternativet

Hur söker man i stora textmängder egentligen?

Databaser & SQL

2 svar · 346 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Jag har gjort en sökfunktion och tänker man inte på prestandan så är ju LIKE % söksträng % hur trevligt som helst. Men hur gör man egentligen när det handlar om lite större datamängder?

Jag har ju förstått att det är döden vad gäller prestanda, men samtidigt så måste man ju ibland kunna söka löpande i en text. Tänk om man inte kunde göra det på webforum exempelvis, inte så bra! Men en sökning här går ju jättesnabbt trots enorma mängder text... hur är det löst!?

Medlem sedan juni 20008 205 inlägg
#2

Man indexerar textmängden på något sätt, så att man t.ex. kan relatera ett ord till alla poster som innehåller det. Jag tror att vBulletin har en egen indexeringsfunktion, men det finns en massa olika sätt att slippa göra det själv på. I MySQL (och med största säkerhet andra DBMS:er också) finns det en speciell indextyp som kan användas för fritextsökningar, och så finns det tredjepartsprogramvaror som inte är beroende av någon speciell backend, som Lucene.

Medlem sedan juni 20014 290 inlägg
#3

Här kan man läsa om MySQL sätt: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)