MySQL Database-objekt med søkemotor og backup

Jeg har stort sett bare programmert for mySQL databaser, og lenge brukte jeg PHP sine egne kommandoer direkte når jeg skulle kommunisere med en database. Bakdelen med dette er at man får et alvorlig problem hvis sidene plutselig skal kjøres på en annen serverløsning som ikke har MySQL.

Såkalte "Database abstraction layers" finnes det ganske mange av som er helt gratis og til fri bruk. Et "abstraksjonslag" er et program som gjør at jeg kan bruke et felles språk i mine programmer for å kommunisere med databaser. "Abstraksjonslaget" tar seg av den direkte komunikasjonen med databasen. Alt jeg trenger å gjøre for å bytte til en annen type database, er å bytte "abstraksjonslaget".

Grunnen til at jeg ikke har benyttet meg av en gratisutgave, er for at jeg har hatt litt spesielle behov. Deriblandt muligheten for å ta backup av tabellene, og jeg har trengt en fleksibel og god søkemotor. Denne har det. Det har gått spesielt mye arbeid i søkemotoren av dette programmet, og her følger en beskrivelse av hva den kan

Dette er bare en demostrasjon av hva søkemotoren gjør. Det benyttes ingen databaser i denne testen.

Mellomrom = OG

ELLER
Fulltext søk

SELECT navn, telefon, epost , MATCH (søkefelt) AGAINST ('dette er en test søkemotor') AS score FROM database WHERE søkefelt RLIKE '[[:<:]]dette er[[:>:]]' OR søkefelt RLIKE '[[:<:]]en[[:>:]]' AND søkefelt RLIKE '[[:<:]]test[[:>:]]' AND søkefelt NOT RLIKE '[[:<:]]på[[:>:]]' AND søkefelt RLIKE '[[:<:]]søkemotor[[:>:]]' ORDER BY score DESC, id DESC

MySQL versjon 4.0.1 og nyere støtter boolske spørresetninger direkte i "fulltext" søk. Jeg har ikke tatt i bruk dette for dette begrenser seg til å søke avansert, kun i "fulltext" indekserte felter, mens min søkemotor derimot kan lage boolske søk for alle typer tekster. Jeg benytter "fulltext" søket kun for å finne relevans, og pga. måten jeg gjør det på, så blir SQL setningen versjon 3.23 kompatibel også.

Backup løsningen lager SQL filer som er kompatible med de filene som PHPmyAdmin lager, og programmet kan også lese filer laget i det samme programmet. Det er også mulig å få returnert en hel backup i en komprimert .zip fil. For å gjenoprette en backup er det bare å laste den opp vha. en browser, så tar programmet seg av resten. Man kan stille inn om backupen skal overskrive, oppdatere eller erstatte hele databasen.