Invert Skrevet 12. april 2007 Del Skrevet 12. april 2007 Hei Prøver å forstå og bruke indexer, siden databasen bruker veldig lang tid på å respondere dersom det blir søkt direkte i den. Så jeg har funnet ut at MATCH, AGAINST er måten å gjøre det på. Men jeg får ikke min originale spørring til å kunne brukes med den. Så hvordan kan jeg få denne spørringen over til en som bruker indexer: select * from tabell where (((interresser like '%$soket,%' or navn like '%$soket%')) and ((postadresse like '%$sted') or (besoksadresse like '%$sted'))) order by navn ASC Dette er hva jeg har prøvd meg på: SELECT * FROM tabell WHERE MATCH (navn,interresser,postadresse,besoksadresse) AGAINST ('+john +oslo') order by navn ASC Får ikke samme resultatet med de to. Har også prøvd en løsning med UNION men den funksjonen kan jeg ikke så godt. Ender opp med at alle med john i navnet kommer opp, i tillegg til alle som bor i oslo. Så jeg vil skille ut dem som bor i oslo og har navnet john. Håper det er noen som kan hjelpe meg eller gi meg noen gode ressurser innenfor emnet. På forhånd takk! Lenke til kommentar
Ueland Skrevet 13. april 2007 Del Skrevet 13. april 2007 Du har opprettet fulltekstindeks på de feltene du vil kunne fulltekstssøke på? Lenke til kommentar
Invert Skrevet 13. april 2007 Forfatter Del Skrevet 13. april 2007 Har opprettet index'er på de feltene jeg vil søke på ja. Får til et FULLTEXT søk, men ved søk etter et navn i et spesielt sted, så kommer alle med bare navnet også opp. Så om jeg vil kunne luke ut alle som heter John og bor i Oslo, så får jeg opp John som bor i fredrikstad også. Får ikke flere kriterier til å gjelde slik som jeg gjør med en vanlig spørring med AND. Lenke til kommentar
Ernie Skrevet 20. april 2007 Del Skrevet 20. april 2007 Du må sette det i boolean mode siden du bruker +. Dvs. SELECT * FROM tabell WHERE MATCH (navn,interresser,postadresse,besoksadresse) AGAINST ('+john +oslo' IN BOOLEAN MODE) order by navn ASC Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå