php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2007, 21:27  
Neuer Benutzer
 
Registriert seit: 05.03.2005
Beiträge: 29
DarkThunder
Standard match, against: ergebnisse filtern

Hi, ich habe folgenden Query:

Code:
SELECT * FROM philipstests2 WHERE MATCH (autor,titel,inhalt) AGAINST ('$suchbegriff' WITH QUERY EXPANSION)
Die angezeigten Ergebnisse sollen jetzt durch ein Formular vom User gefiltert werden können. Über Post bekommt die Datei dann die Variablen und dann hab ich einfach mal

Code:
SELECT * FROM philipstests2 WHERE MATCH ($filter) AGAINST ('$suchbegriff' WITH QUERY EXPANSION)
ausprobiert, was aber gar nicht funktionieren kann, weil der Index ja über alle drei spalten gelegt ist.
Wie stelle ich es also an, dass nur alle Ergebnisse angezeigt werden, bei denen $suchbegriff nur (!) in bspw. 'inhalt' steht?
DarkThunder ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2007, 21:46  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

öhm ... so gefühlt (mir sagt QUERY EXPANSION nix ^^)

Code:
WHERE MATCH '$suchbegriff' IN (autor,titel,inhalt)
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 29.03.2007, 21:58  
Neuer Benutzer
 
Registriert seit: 05.03.2005
Beiträge: 29
DarkThunder
Standard

Aber was willst du damit denn bewirken?^^
Bei mir klappts jedenfalls nicht...
Also ich will mit einer Volltextsuche einfach nur die Ergebnisse anzeigen lassen,
die in EINER Spalte übereintreffen, obwohl der index über alle DREI spalten gelegt ist.
Und LIKE will ich ja nicht verwenden, da ich dann ja nicht den Vorteil einer Volltextsuche habe und auch keine möglicherweise passenden Ergebnisse durch WITH QUERY EXPANSION bekommen kann.
DarkThunder ist offline   Mit Zitat antworten
Alt 29.03.2007, 22:08  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von DarkThunder
Aber was willst du damit denn bewirken?^^
Das fragst du mich? ^^
Zitat:
Zitat von DarkThunder
Bei mir klappts jedenfalls nicht...
Wundert mich nicht, sollte auch nur eine Anregung sein Ich weiß nich so ganz, worauf du hinaus willst ^^

Wie gesagt: QUERY EXPANSION hab ich bisher nie benutzt und sagt mir jetzt auch nix.

Also willst du, dass der Nutzer auswählen kann, welche Spalten er durchsuchen will? mein Gedanke wäre da dann (vorrausgesetzt ich versteh dich langsam)
PHP-Code:
$filer = array ('\'autor\'','\'titel\''); // von POST schonma vorbearbeitet
$filter implode (',',$filter); 
Jetzt dürfteste deine (zweite) Variante verwenden können (vorrausgesetzt, es ist das, was du willst )
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 30.03.2007, 10:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wie wäre es, wenn du LIKE nur bei den Datensätzen einsetzt, die auch über die Volltext-Suche einen Treffer haben. Damit könntest du die Geschwindigkeit der Volltext-Suche ausnutzen und dein Ergebnis trotzdem auf bestimmte Felder eingrenzen.

Wobei ich nicht weiß, ob die Begrenzung auf ein Feld (mit LIKE) die Suche nicht sowieso schon elementar verschnellert und die zusätzliche (dann grob filternde) Volltext-Suche dann nicht überflüßig wäre.

Musst du selbst mal testen.

Code:
SELECT * FROM MATCH (eins, zwei, drei) AGAINST ('suchwort') AND eins LIKE '%suchwort%'
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einzeltreffer von MATCH ... AGAINST ... ermitteln proud Datenbanken 3 09.05.2008 08:31
Suche (MATCH) mit MYSQL ruferp Datenbanken 1 10.09.2007 22:06
MATCH .... AGAINST ... Problem Denise Datenbanken 4 21.03.2007 20:05
Match ... Against... einzeln oder gesammten string? EvilDragon Datenbanken 2 06.02.2006 14:49
Suchen / Filtern mit mehreren Abfragen (optional) wizzardxx Datenbanken 7 28.01.2006 18:40
Select - doppelte Ergebnisse ragman Datenbanken 3 26.01.2006 11:53
Volltextsuche mit MATCH AGAINST über mehere Tabellen? Datenbanken 5 13.09.2005 15:02
Häufigste Ergebnisse auslesen PHP Tipps 2005-2 3 14.08.2005 18:56
Text aus plain text datei filtern PHP-Fortgeschrittene 7 19.07.2005 15:59
match .. against Mutatos Datenbanken 1 29.03.2005 16:42
MySQL Match Against Problem RcRaCk2k PHP-Fortgeschrittene 1 15.03.2005 12:22
Ergebnisse in einer anderen Spalte ausgeben PHP Tipps 2005 10 10.02.2005 10:13
[Erledigt] MYSQL Abfrage -> Ergebnisse auf anzahl per seite begrenze PHP Tipps 2004-2 2 21.11.2004 21:28
[Erledigt] ergebnisse einzelnd ansprechen? Datenbanken 5 13.09.2004 18:58
Ergebnisse von Abfragen einer Email zuweisen? PHP Tipps 2004 3 24.06.2004 16:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ihre ergebnisse gefiltert, ergebnisse gefiltert werden, ergebnisse gefiltert, php ergebnisse filtern, ergebnisse filtern, mysql ergebnisse filtern, php google suchergebnisse filtern, ihre ergebnisse gefiltert werden, php ergebnisse filter, \ihre ergebnisse gefiltert, php ergebnis filtern, php against, mysql match against geschwindigkeit, match against geschwindigkeit, php suchergebnisse suchwort, \ergebnisse filtern\, php suchergebnisse filtern, sql match against php anzahl, suchergebnis mysql mit ajax filtern, match against schlechte ergebnisse

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.