Gå til innhold

Hjelp til MySQL FULLTEXT Index søk


Anbefalte innlegg

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
Videoannonse
Annonse

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

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...