Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Volltextsuche in MySQL (https://www.delphipraxis.net/62251-volltextsuche-mysql.html)

buyden 1. Feb 2006 20:44

Datenbank: MySQL • Version: 4.1 • Zugriff über: ZEOS

Volltextsuche in MySQL
 
Hi,

ich benötige für mein Programm eine Volltextsuche in meiner MYSQL-DB.

Ich hab das bis jetzt mit diesem Code gelöst:

Delphi-Quellcode:
procedure Tfrmsuche.edsucheChange(Sender: TObject);
var   config: tinifile;
begin
sql.Add('SELECT * FROM auftrag WHERE
MATCH(rma) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR
MATCH(fehler) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR
MATCH(arbeiten) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR
MATCH(bemerkungen) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') AND
auftrag.techniker= '+config.ReadString('Grundeinstellungen', 'Technikernummer','')+';');
...
Funktioniert soweit ganz gut wenn ich nach nur einem Wort suche.
Allerdings findet er erst Übereinstimmungen wenn das Wort komplett eingegeben wurde. z.B. in der DB steht "fehlende" und ich gebe nur "fehlen" ein, findet er keine Übereinstimmung.
Weiterhin ignoriert er scheinbar alle folgenden Eingaben sobald er im ersten Wort Übereinstimmungen gefunden hat.
Wie kann man das denn noch anders machen. Im Referenzhandbuch ist jedenfalls nix derartiges zu finden.

Jelly 1. Feb 2006 22:14

Re: Volltextsuche in MySQL
 
SQL-Code:
select * from auftrag where rma like '%foo%' or fehler like '%bar%'
usw.

buyden 2. Feb 2006 10:39

Re: Volltextsuche in MySQL
 
So hatte ich das vorher und das lief auch nicht so wirklich. So hat er so gut wie gar nix gefunden und wenn dann nur aus dem ersten Feld.


:coder2:
Hab jetzt aber scheinbar den Fehler gefunden:
Ich hatte die Technikernummer nicht als String angegeben. Als String läuft das mit LIKE recht gut.

Dankeschön erstmal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz