Am Mo 16.Juni 2003 07:49 schrieben Sie:
Schön wäre es aber, könnte man das Listenarchiv durchsuchen. Da wäre mir mit meinen Problemen vielleicht schon mal geholfen worden.
Du brauchst:
- Einen MySQL-Server
- Procmail
- PHP (CGI Version)
Erzeuge Procmail Receipts wie diese hier:
:0c
* ^Mailing-List:.*suse-linux-help@suse.com
|/home/kris/bin/insert_mail suse_linux
:0
* ^Mailing-List:.*suse-linux-help@suse.com
/home/kris/Mail/Lists/suse-linux
Nun kannst Du ein PHP-Script schreiben, das Du als
"/home/kris/bin/insert_mail" installierst und ausführbar machst. Das Script
habe ich beigefügt.
Das Script schreibt Deine Mail in eine Datenbanktabelle. Der Name der Tabelle
wird als einziger Parameter des Scripts mit angegeben: Hier suse_linux im
procmail Receipt.
Die Tabelle sieht so aus:
kris@p15104972:~> mysqldump --no-data --user kris -p kris
Enter password:
-- MySQL dump 8.22
--
-- Host: localhost Database: kris
---------------------------------------------------------
-- Server version 3.23.52
--
-- Table structure for table 'suse_linux'
--
CREATE TABLE suse_linux (
id int(11) NOT NULL auto_increment,
m_from varchar(255) default NULL,
m_to varchar(255) default NULL,
m_subject varchar(255) default NULL,
m_date int(11) default NULL,
m_body longtext,
changed timestamp(14) NOT NULL,
PRIMARY KEY (id),
FULLTEXT KEY m_body (m_body),
KEY m_from (m_from),
KEY m_to (m_to),
KEY m_subject (m_subject),
KEY m_date (m_date)
) TYPE=MyISAM;
Beachte den Fulltext Index auf m_body.
Eine Suche kann jetzt nach From, To, Subject, Datum (oder changed)
durchgeführt werden, wie man es gewohnt ist. Sie kann auch als Fulltext Match
durchgeführt werden. Das geht so:
mysql> select m_subject, m_from, m_to, match(m_body) against ("acroread") as
rank from suse_linux having rank > 0 order by rank desc;
+--------------------------------------------------------+--------------------------------------------------+---------------------+-----------------+
| m_subject | m_from
| m_to | rank |
+--------------------------------------------------------+--------------------------------------------------+---------------------+-----------------+
| Re: 8.0 acroread gibt leeres Dokument auf kprinter aus | Sina Jany