Erweiterte Suchfunktion
Moderator: Thorsten
Erweiterte Suchfunktion
Hi Thorsten
Gibt es eigentlich irgendeine Möglichkeit, die Suchfunktion zu erweitern? Also zum Beispiel Suchbegriffe ausschließen, oder nur nach Keywords suchen oder so?
Auch sehr schön wäre ein Ajax-Autocompleter der die Suche automatisch ergänzt.
ist da was geplant oder vielleicht schon umgesetzt und ich finde es nur nicht?
Grüße
deMischa
Gibt es eigentlich irgendeine Möglichkeit, die Suchfunktion zu erweitern? Also zum Beispiel Suchbegriffe ausschließen, oder nur nach Keywords suchen oder so?
Auch sehr schön wäre ein Ajax-Autocompleter der die Suche automatisch ergänzt.
ist da was geplant oder vielleicht schon umgesetzt und ich finde es nur nicht?
Grüße
deMischa
Re: Erweiterte Suchfunktion
Hi,
für die Suche kannst du das verwenden: http://dev.mysql.com/doc/refman/5.1/en/ ... olean.html
Bei der Ajaxsuche haben wir derzeit noch keinen Autocompleter drin.
bye
Thorsten
für die Suche kannst du das verwenden: http://dev.mysql.com/doc/refman/5.1/en/ ... olean.html
Bei der Ajaxsuche haben wir derzeit noch keinen Autocompleter drin.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Danke für die schnelle Antwort.
Ich habe mit dem Parametern schon viel rumprobiert, aber sie funktionieren bei mir überhaupt nicht. Muss man diesen Boolean Mode irgendwie aktivieren?
Schau mal in den Screenshot. Warum wird denn hier sonst der imaginäre "Laufzeitfehler 80" auch angezeigt?
Oder wenn ich nach "*fehler" suche erhalte ich gar keinen Treffer.
Kannst du mir nen Tipp geben?
Gruß, deMischa
Ich habe mit dem Parametern schon viel rumprobiert, aber sie funktionieren bei mir überhaupt nicht. Muss man diesen Boolean Mode irgendwie aktivieren?
Schau mal in den Screenshot. Warum wird denn hier sonst der imaginäre "Laufzeitfehler 80" auch angezeigt?
Oder wenn ich nach "*fehler" suche erhalte ich gar keinen Treffer.
Kannst du mir nen Tipp geben?
Gruß, deMischa
You do not have the required permissions to view the files attached to this post.
Re: Erweiterte Suchfunktion
Hi,
da ich deine Daten nicht kenne, kann ich dir auch nicht sagen, was bei deinen Daten da genau passiert...
bye
Thorsten
da ich deine Daten nicht kenne, kann ich dir auch nicht sagen, was bei deinen Daten da genau passiert...
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Hier mein Suchalgorithmus:
Habe nur die beiden * rausgenommen, der Rest ist Standard
Ich habe mal das Query ausgeben lassen, dass sieht dann so aus wie in Screenshot 1.
Wenn den gleichen SQL-Befehl in phpMyAdmin ausführe, ist das Ergebnis ein anderes (Screenshot 2).
Habe das mit der neuen 2.7.0 Alpha getestet, weil das ja laut deinem Eintrag in diesem Topic viewtopic.php?f=3&t=10979 in der 2.6 noch nicht funktioniert.
Wäre toll, wenn du mir / dir das erklären könntest
Wenn ich dabei irgendwie unterstützen kann, sag mir gerne Bescheid!
deMischa
Code: Select all
$query = sprintf("
SELECT
%s
FROM
%s %s %s
WHERE
MATCH (%s) AGAINST ('%s' IN BOOLEAN MODE)
%s
%s",
$columns,
$this->getTable(),
$this->getJoinedTable(),
$this->getJoinedColumns(),
$this->getMatchingColumns(),
$this->dbHandle->escape_string($searchTerm),
$this->getConditions(),
$orderBy);
Ich habe mal das Query ausgeben lassen, dass sieht dann so aus wie in Screenshot 1.
Wenn den gleichen SQL-Befehl in phpMyAdmin ausführe, ist das Ergebnis ein anderes (Screenshot 2).
Habe das mit der neuen 2.7.0 Alpha getestet, weil das ja laut deinem Eintrag in diesem Topic viewtopic.php?f=3&t=10979 in der 2.6 noch nicht funktioniert.
Wäre toll, wenn du mir / dir das erklären könntest

Wenn ich dabei irgendwie unterstützen kann, sag mir gerne Bescheid!
deMischa
You do not have the required permissions to view the files attached to this post.
Re: Erweiterte Suchfunktion
Hi,
ich schau mir das Problem an.
bye
Thorsten
ich schau mir das Problem an.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Danke! Hier noch ein Hinweis:
Wenn ich in der inc\PMF_Search\Database\Mysql.php statt der Query mit den Platzhaltern einfach eine feste query eingebe, so wie sie von deinem Script generiert wurde, dann klappt es. Scheint für mich so, als würden die Sonderzeichen in dem Query herausgefiltert werden.
Danke für deine Bemühungen!
Wenn ich in der inc\PMF_Search\Database\Mysql.php statt der Query mit den Platzhaltern einfach eine feste query eingebe, so wie sie von deinem Script generiert wurde, dann klappt es. Scheint für mich so, als würden die Sonderzeichen in dem Query herausgefiltert werden.
Danke für deine Bemühungen!

Re: Erweiterte Suchfunktion
Hi,

bye
Thorsten
das könnte auch das Problem sein...deMischa wrote:Scheint für mich so, als würden die Sonderzeichen in dem Query herausgefiltert werden.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Hi,
bist du sicher, dass du im 2.7er Code reingeschaut hast. Wenn ich in der 2.7 nach
suche, kommt das:
Die * kommen u.a. von der verbesserten Suche.
bye
Thorsten
bist du sicher, dass du im 2.7er Code reingeschaut hast. Wenn ich in der 2.7 nach
Code: Select all
"test"
Code: Select all
SELECT faqdata.id AS id, faqdata.lang AS lang, faqdata.solution_id AS solution_id, faqcategoryrelations.category_id AS category_id, faqdata.thema AS question, faqdata.content AS answer FROM faqdata LEFT JOIN faqcategoryrelations ON faqdata.id = faqcategoryrelations.record_id AND faqdata.lang = faqcategoryrelations.record_lang WHERE MATCH (faqdata.thema, faqdata.content, faqdata.keywords) AGAINST ('*"test"*' IN BOOLEAN MODE) AND faqdata.lang = 'de' AND faqdata.active = 'yes'
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Ich häng mich jetzt einfach dran. Was passiert denn, bei "test Thorsten", +test-thorsten, oder +test+thorsten. Sorry, ich bin was php ein newbee. Wo habt Ihr denn den debug code eingefügt?
Our public FAQ is proudly powered by phpMyFAQ: http://vhtfaq.ge51.honeywell.de/
Re: Erweiterte Suchfunktion
Hi Thorsten,
heureka! Auf der von Dir verlinkten Seite der MySQL "Boolean Full-Text Searches" gibt es einen Kommentar von Markus Loponen:
Das wäre doch was für die 2.7, oder?
heureka! Auf der von Dir verlinkten Seite der MySQL "Boolean Full-Text Searches" gibt es einen Kommentar von Markus Loponen:
For those of you who interface MySQL with PHP and wonder what the problem is with getting "exact phrases" working properly, here's the way to go.
$query= "SELECT code, category, header, date FROM articles WHERE MATCH (text,header,summary) AGAINST ('" . stripslashes (str_replace (""", "\"", ($_POST['keywords']))) . "' IN BOOLEAN MODE)";
PHP, or some setups or with some browsers, convert double quotes from POST data to their HTML-equivalents even without being asked to do that. The above will fix the issue. Stripslashes() is optional, I prefer to keep it in to keep things looking clean, though the \" doesn't seem to break the boolean literal search.
Das wäre doch was für die 2.7, oder?
Our public FAQ is proudly powered by phpMyFAQ: http://vhtfaq.ge51.honeywell.de/
Re: Erweiterte Suchfunktion
Hi,
jep, den hatte ich wohl bisher übersehen.
bye
Thorsten
jep, den hatte ich wohl bisher übersehen.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Re: Erweiterte Suchfunktion
Hallo nochmal
Cool, danke für die Änderung. Ich habe jetzt die beiden geänderten Dateien bei mir eingefügt, und deine Änderungen haben auch Auswirkungen auf meinen String. Die "-Zeichen werden nun nicht mehr gefiltert.
Leider scheinen aber die BOOLESCHEN Parameter immer noch nicht zu funtktionieren. Anbei noch mal ein Screenshot, der das belegt.
Nun doch ein Missverständnis meinerseits, oder kann das jemand erklären?
Cool, danke für die Änderung. Ich habe jetzt die beiden geänderten Dateien bei mir eingefügt, und deine Änderungen haben auch Auswirkungen auf meinen String. Die "-Zeichen werden nun nicht mehr gefiltert.
Leider scheinen aber die BOOLESCHEN Parameter immer noch nicht zu funtktionieren. Anbei noch mal ein Screenshot, der das belegt.
Nun doch ein Missverständnis meinerseits, oder kann das jemand erklären?
You do not have the required permissions to view the files attached to this post.
Re: Erweiterte Suchfunktion
Hi,
ich schau mir das nochmal genau an, der Fix oben war ein erster Versuch.
bye
Thorsten
ich schau mir das nochmal genau an, der Fix oben war ein erster Versuch.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist