/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fri tekst søgning i Mysql
Fra : Nederbasse


Dato : 02-03-09 10:24

Hej
Jeg vil gerne lave en ordentlig søgning i en Mysql db.
I stedet for at lave en: .. WHERE indhold LIKE '%$titel_txt%' vil jeg gerne
lave en FULLTEXT søgning.

Men er det mig der har misforstået FULLTEXT, jeg kan ikke få den til at
virke og får denne fejl:
MySQL-fejl: Can't find FULLTEXT index matching the column list
..
Tabellen er en MYISAM, Kollation er utf8_danish_ci, rækker jeg vil søge i er
enten VARCHAR eller LONGTEXT som datatype
Dump: http://www.neder.dk/ft.jpg

Min forespørgsel ser sådan ud:
SELECT * FROM arrangement WHERE MATCH (arr_titel,indhold)
AGAINST('$titel_txt')

Jeg læser fejlen som jeg søger i en kolonne der ikke er lavet et indeks i
eller hva?

Lars




 
 
Johan Holst Nielsen (02-03-2009)
Kommentar
Fra : Johan Holst Nielsen


Dato : 02-03-09 12:34

Nederbasse wrote:
> Tabellen er en MYISAM, Kollation er utf8_danish_ci, rækker jeg vil søge i er
> enten VARCHAR eller LONGTEXT som datatype
> Dump: http://www.neder.dk/ft.jpg
>
> Min forespørgsel ser sådan ud:
> SELECT * FROM arrangement WHERE MATCH (arr_titel,indhold)
> AGAINST('$titel_txt')

Du skal lave et samlet fulltext index på de 2 felter.

Hvis du har adgang til phpMyAdmin så vælg tabellen. Check de 2 bokse
udenfor arr_titel og indhold. Klik på det nederste lille t der ligger
under tabellen.

Så bliver der lavet et fulltext key der indeholder begge felter - og så
kan du bruge ovenstående forespørgsel.

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Nederbasse (03-03-2009)
Kommentar
Fra : Nederbasse


Dato : 03-03-09 11:31

SNIP
>
> Du skal lave et samlet fulltext index på de 2 felter.
>
> Hvis du har adgang til phpMyAdmin så vælg tabellen. Check de 2 bokse
> udenfor arr_titel og indhold. Klik på det nederste lille t der ligger
> under tabellen.
>
> Så bliver der lavet et fulltext key der indeholder begge felter - og så
> kan du bruge ovenstående forespørgsel.
>
> --
> Johan Holst Nielsen
> Freelance PHP Developer - http://phpgeek.dk

Det hjalp men så kommer et lille tillægsspørgsmål: hvorfor kan man ikke
finde et ord som Miljø eller Planlægning?

Er det mig der regner mad at FULLTEXT kan mere en det faktisk kan?
Tabellen er utf8

Lars



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste