Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
  • 2 uker senere...

Hvis du bruker MySQL er det bedre å bruke Full Text Search. Den funker mer som en søkemotor ved at den rangerer søk hvor søkeordene er nærme hverandre øverst og kan også finne søk som ikke inneholder ordet "databaser", men også inneholder vanlige databaseord som mysql, oracle, db osv.

 

EDIT: Ser at noen har pekt på at full text search kan være ganske tregt med store tabeller.

The full-text search is slow when there are a lot of rows in the table. I have more than 2 million rows with text and multiple word searches (3 or more) take about 30 seconds to a minute or longer.

 

I am running a Athlon 2.2 Ghz with 512 MB DDR RAM 400 Mhz. Hard drive has seek time of 9 ms.

Endret av JonT
Lenke til kommentar

Eh, her tuller du vel? MySQL har vel ikke akkurat bygget inn data mining i sitt fulltekstsøk? Det fulltekstsøk dog gjør er å matche på LIGNENDE ord, så hvis du søker på databases så vil du også få treff på database som er entallsformen av det samme ordet. Med fare for å ta feil så mener jeg bestemt at ingen fulltekstsøk har en smart knytning mellom ord og kategori på den måten du beskriver.

Lenke til kommentar
Med fare for å ta feil så mener jeg bestemt at ingen fulltekstsøk har en smart knytning mellom ord og kategori på den måten du beskriver.

 

Nå vet ikke jeg hva MySQL har eller ikke har, men SQL Server har en slik funksjonalitet. Du må riktig nok konfigurerer synonymene selv i egne xml-filer, så hvor nyttig den er vet jeg ikke. Men siden SQL Server har det så er det vel ikke helt usannsynlig at MySQL også har noe liknende.

 

Det eneste som kommer prekonfigurert av synonymer er disse :D :

		<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
	<expansion>
		<sub>Internet Explorer</sub>
		<sub>IE</sub>
		<sub>IE5</sub>
	</expansion>
	<replacement>
		<pat>NT5</pat>
		<pat>W2K</pat>
		<sub>Windows 2000</sub>
	</replacement>
	<expansion>
		<sub>run</sub>
		<sub>jog</sub>
	</expansion>
</thesaurus>

Lenke til kommentar
Eh, her tuller du vel? MySQL har vel ikke akkurat bygget inn data mining i sitt fulltekstsøk?

Nei, de har ikke noen innebygget synonymordliste (som jeg vet om). Men man Full Text Expansion blir også ord som er vanlige i alle søkene som inneholder database (f.eks. MySQL og Oracle) også bli returnert sammen med svarene.

 

Hvor bra det funker og hvor mye ekstra tid det tar vet jeg ikke. Det må du nesten prøve ut selv.

 

Les mer om det i linken jeg ga deg.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...