mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 08:28 Benutzername: Passwort: Auto-Login

Thema: MySQL Volltextsuche vom 10.11.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> MySQL Volltextsuche
Seite: 1, 2  Weiter
Autor Nachricht
marcusm
Threadersteller

Dabei seit: 06.05.2002
Ort: europa
Alter: 46
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:09
Titel

MySQL Volltextsuche

Antworten mit Zitat Zum Seitenanfang

N'abend!
Versuche hier gerade mal eine kleine Suchfunktion in PHP zu schreiben, leider funktioniert das nicht so wie ich es mir vorstelle. Habe den Verdacht das das mit der Bedingung in der Schleife zusammenhängt, aber vielleicht sieht jemand von Euch den Fehler...

MySQL:
Code:

CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `headline` text NOT NULL,
  `text` text NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `headline` (`headline`,`text`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;


INSERT INTO `test` VALUES (1, 'Dies ist der kleine Titel', 'Die Funktion MATCH prüft eine natürlichsprachige Anfrage gegen (AGAINST) eine Textsammlung (einfach ein Satz von Spalten, der vom FULLTEXT-Index abgedeckt wird).');


Und hier das Script:
Code:

<?php
$suchbegriff="Spalten";

$sql="SELECT * FROM test WHERE MATCH (headline,text) AGAINST ('$suchbegriff')";
$connection=mysql_connect($server,$user_db,$password_db);
mysql_select_db($name_db,$connection);
$result=mysql_query($sql,$connection);

if(!$result) echo MySQL_error();
else echo "Ok";

while($row=mysql_fetch_object($result)){
   echo $row->id;
   }
mysql_free_result($result);
mysql_close($connection);
?>
 


Das Ok gibt er auch aus aber mehr auch nicht! Kann jemand helfen?

gruß
marcusm
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:13
Titel

Antworten mit Zitat Zum Seitenanfang

was sagt denn mysql_num_rows() ? und was sagt print_r( $row );
wenn's in der Schleife platziert wird?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:15
Titel

Re: MySQL Volltextsuche

Antworten mit Zitat Zum Seitenanfang

marcusm hat geschrieben:
N'abend!
Versuche hier gerade mal eine kleine Suchfunktion in PHP zu schreiben, leider funktioniert das nicht so wie ich es mir vorstelle. Habe den Verdacht das das mit der Bedingung in der Schleife zusammenhängt, aber vielleicht sieht jemand von Euch den Fehler...

MySQL:
Code:

CREATE TABLE `test` (
  `id` int(11) NOT NULL auto_increment,
  `headline` text NOT NULL,
  `text` text NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `headline` (`headline`,`text`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;


INSERT INTO `test` VALUES (1, 'Dies ist der kleine Titel', 'Die Funktion MATCH prüft eine natürlichsprachige Anfrage gegen (AGAINST) eine Textsammlung (einfach ein Satz von Spalten, der vom FULLTEXT-Index abgedeckt wird).');


Und hier das Script:
Code:

<?php
$suchbegriff="Spalten";

$sql="SELECT * FROM test WHERE MATCH (headline,text) AGAINST ('$suchbegriff')";
$connection=mysql_connect($server,$user_db,$password_db);
mysql_select_db($name_db,$connection);
$result=mysql_query($sql,$connection);

if(!$result) echo MySQL_error();
else echo "Ok";

while($row=mysql_fetch_object($result)){
   echo $row->id;
   }
mysql_free_result($result);
mysql_close($connection);
?>
 

Das Ok gibt er auch aus aber mehr auch nicht! Kann jemand helfen?

gruß
marcusm


echo $row["id"];


bitte ändern, dann sollte es gehen
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
marcusm
Threadersteller

Dabei seit: 06.05.2002
Ort: europa
Alter: 46
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:17
Titel

Antworten mit Zitat Zum Seitenanfang

Also mysql_num_rows() gibt mir ne 0 aus...
  View user's profile Private Nachricht senden
marcusm
Threadersteller

Dabei seit: 06.05.2002
Ort: europa
Alter: 46
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:20
Titel

Antworten mit Zitat Zum Seitenanfang

Nope!

"print_r" gibt nichts aus und mit "echo $row["id"]" sagt er auch keinen Ton...???
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Mi 10.11.2004 23:34
Titel

Antworten mit Zitat Zum Seitenanfang

marcusm hat geschrieben:
Also mysql_num_rows() gibt mir ne 0 aus...


ja, damit hab ich auch angefangen zu testen... aber das ergebnis war ja valide. primus, erst lesen, dann tippen: mysql_fetch_object *zwinker*

Ich bin erstaunt... könnte es daran liegen?:
Zitat:
Such a technique works best with large collections (in fact, it was carefully tuned this way). For very small tables, word distribution does not adequately reflect their semantic value, and this model may sometimes produce bizarre results. For example, although the word ``MySQL'' is present in every row of the articles table, a search for the word produces no results:

mysql> SELECT * FROM articles
-> WHERE MATCH (title,body) AGAINST ('MySQL');
Empty set (0.00 sec)

The search result is empty because the word ``MySQL'' is present in at least 50% of the rows. As such, it is effectively treated as a stopword. For large datasets, this is the most desirable behavior--a natural language query should not return every second row from a 1GB table. For small datasets, it may be less desirable.


//
Haha, liegt es! Füge noch ein paar Reihen ein, und dann versuch nochmal *zwinker* Grins


Zuletzt bearbeitet von am Mi 10.11.2004 23:39, insgesamt 2-mal bearbeitet
 
marcusm
Threadersteller

Dabei seit: 06.05.2002
Ort: europa
Alter: 46
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:40
Titel

Antworten mit Zitat Zum Seitenanfang

@ Schinken

Mehr Einträge in die Db oder mehr Text in diesen Eintrag?
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Mi 10.11.2004 23:43
Titel

Antworten mit Zitat Zum Seitenanfang

Füge mal für vernünftige Ergebnisse 100 Einträge ein, da hab ich auch schon mal nen halben Tag drüber gegrübelt Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen MySQL - Boolsche Volltextsuche
[PHP / MySql] Volltextsuche haut igrndwie nich hin!
Volltextsuche mit Relevanz
Volltextsuche geht nicht ?
Volltextsuche für blätterbaren Katalog gesucht
[php] Viele PDF auslesen und über Volltextsuche durchsuchen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.