Brauche AND anstatt OR Suche

In this board you can talk about general questions about phpMyFAQ

Moderator: Thorsten

Post Reply
guznuname
Posts: 4
Joined: Mon May 25, 2009 8:19 am

Brauche AND anstatt OR Suche

Post by guznuname »

Hi,

ich brauche im Suchfeld ein AND Suche anstelle der OR Suche. Wie kann ich das ändern.

Danke und Gruss

C.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi,

welche Datenbank nutzt du denn?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
guznuname
Posts: 4
Joined: Mon May 25, 2009 8:19 am

Re: Brauche AND anstatt OR Suche

Post by guznuname »

Hi Thorsten,

ich nutze mySQL.

Gruss

Claus
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi Claus,

welche Version von MySQL? Das wäre auch wichtig.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
guznuname
Posts: 4
Joined: Mon May 25, 2009 8:19 am

Re: Brauche AND anstatt OR Suche

Post by guznuname »

Apache 2.0.63
PHP 5.2.5
MySQL 5.0.77-community
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi,

einfach ein + davor setzen:

http://dev.mysql.com/doc/refman/5.0/en/ ... olean.html

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
guznuname
Posts: 4
Joined: Mon May 25, 2009 8:19 am

Re: Brauche AND anstatt OR Suche

Post by guznuname »

Hi Thorsten,

danke für Deine Antwort. Funtzt leider nicht. Probier mal '+spring +flower +season' auf http://www.quovadis-southern-africa.co.za und du bekommst 10 Suchergebnisse, die jeweils einzelne Suchbegriffe beinhalten, aber nicht alle drei Begriffe. Es sollen aber alle drei Begriffe enthalten sein. Ich habe alles ausprobiert, aber irgendwie hat das nicht hin oder ich bin zu blöde...

Danke und Gruss

Claus
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi,

ich bekomme da 4 Ergebnisse:

http://www.quovadis-southern-africa.co. ... tegory=%25

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
phpmyfaq_user
Posts: 13
Joined: Thu Sep 24, 2009 4:47 pm

Re: Brauche AND anstatt OR Suche

Post by phpmyfaq_user »

Hallo,

ich muss den Thread noch mal rauskramen:

Wo kann ich den Code verändern, das die UND-Verknüpfung im Hintergrund funktioniert?

Ich habe schon in der search.php und inc/functions.php nachgesehen. Muss ich den Suchstring noch selber auseinander nehmen?

Gruß
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi,

für eine UND Suche muss ein + vor die zu suchenden Wörter gesetzt werden. Wofür braucht man denn eine UND-Suche per default?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
phpmyfaq_user
Posts: 13
Joined: Thu Sep 24, 2009 4:47 pm

Re: Brauche AND anstatt OR Suche

Post by phpmyfaq_user »

Hallo,

bei über 1500 Artikeln kann ein Suchergebnis schnell sehr groß und unspezifisch werden wenn man standardmäßig mit "ODER" sucht.

Vergleiche z. B. bei Google "faq OR programm" mit "faq programm". Klar kann man auch immer über die Qualität der Fragestellung (des Suchbegriffs diskutieren). Die Erwartungshaltung dürfte jedoch ein Ergebniss sein, dass zuerst (oder nur) die Treffer ausgibt, bei denen beide Begriffe vorkommen.

Wo müsste ich das + im Quellcode ergänzen? Wird der Suchstring bereits anhand der Leerzeichen auseinandergenommen?

Gruß
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: Brauche AND anstatt OR Suche

Post by Thorsten »

Hi,

das passiert in der jeweiligen search() Methode der genutzten DB-Klasse.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
phpmyfaq_user
Posts: 13
Joined: Thu Sep 24, 2009 4:47 pm

Re: Brauche AND anstatt OR Suche

Post by phpmyfaq_user »

Hi,

danke, es funktioniert.

Ich habe in der inc/PMF_DB/Mysql.php der Zeile 189 folgenden Code hinzugefügt:

Code: Select all

$array = explode(" ",$string);
		if (count($array) > 1)
		{
			$string = "";
			foreach ($array as $value)
			{
				$string = $string.'+'.$value.' ';
			}
		}
Post Reply