Suchmodul findet keine Treffer (Tabelle: _art_spec ist leer)

dmp
Beiträge: 3
Registriert: Mo 12. Dez 2005, 15:22
Kontaktdaten:

Suchmodul findet keine Treffer (Tabelle: _art_spec ist leer)

Beitrag von dmp » Mo 12. Dez 2005, 16:13

Hallo,

ich habe heute versucht das Suchmodul in Betrieb zu nehmen und bin, so hoffe ich, nur fast gescheitert.

Systemumgebung:
---------------------
Debian GNU/Linux sarge

Code: Alles auswählen

php4: 4.3.10-16
mysql-server-4: 4.1.11a-4sarge
kernel: 2.6.8-1-686-smp
apache: 1.3.33-6sarge1
Contenido: 4.6.2
Das zu den Eckdaten.

Problembeschreibung
-------------------------

Ich habe das Sucheingabemodul auf allen Seiten eingebunden und die $url Variable angepasst auf die richtige Kategorie und Artikel. Dort habe ich dann dort wo das Text/HTML Modul prangert das Suchausgabemodul platziert.

Jetzt findet allerdings, das Suchmodul nichts, wenn ich es ausprobieren möchte. Ich bekomme nur ein "Ihre Suche nach 'soundso' hat leider keine Treffer ergeben' aber es sollte es.

Eines der SQL Statements habe ich mir angesehen und es möchte gerne Daten aus der Tabelle con_art_spec haben. Die habe ich mir angesehen und festgestellt das dort kein Datensatz existent ist. Was für so ein SELECT Statment das etwas finden möchte äussert doof ist :)

Ist das etwas bekanntes oder habe ich etwas falsch gemacht?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mo 12. Dez 2005, 16:18

um welches Suchmodul geht es denn?

dmp
Beiträge: 3
Registriert: Mo 12. Dez 2005, 15:22
Kontaktdaten:

Beitrag von dmp » Mo 12. Dez 2005, 16:23

Oh Entschuldigung.

Das Suchmodul was bei der 4.6.2 mit installiert wurde. Ich habe eine Installation mit Modulen aber ohne Beispiele gemacht.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mo 12. Dez 2005, 16:25

Schau dir mal den Demomandanten an - ich vermute, daß das Suchmodul nur bestimmte Artikel in die Suche mit aufnimmt (entsprechend der Artikel"spezifikationen"). Frag mich aber nicht warum...

dmp
Beiträge: 3
Registriert: Mo 12. Dez 2005, 15:22
Kontaktdaten:

Beitrag von dmp » Mo 12. Dez 2005, 16:57

Richtig und zwar die mit online = 1 laut SQL Statement

Code: Alles auswählen

$sql = "SELECT
		idartspec, artspec
	FROM
		".$cfg['tab']['art_spec']."
	WHERE
		client=$client AND
		lang=$lang AND
		online=1";
(Auszug aus dem Suchausgabemodul)

Ich dachte, das Defaultsuchmodul würde die Tabelle con_keywords zum suchen benutzen. Und meine Vermutung hat sich gerade bestätigt, ich habe mir die class.search.php einmal näher angesehen. Nachdem ich den Fehler auf die Methode searchIndex eingrenzen konnte.

Ich habe dann mir dann dort nach etwas Studium das Array $options angesehen, das diverse Suchparameter für die Methode searchIndex steuert und diese war beim Parameter:

Code: Alles auswählen


$options = array ('db' => 'like', // use db function regexp
	'combine' => $combine, // combine searchterms with and
	'exclude' => true, // => searchrange specified in 'cat_tree', 'categories' and 'articles' is excluded, otherwise included (exclusive)
	'cat_tree' => $aSearchRange, // searchrange 
	'artspecs' => $aArtSpecs, // array of article specifications => search only articles with these artspecs
	'protected' => true); // => do not search articles or articles in categories which are offline or protected
(Auszug aus dem Suchausgabemodul)

'db' war vorher regexp das habe ich bevorzugt auf like umgestellt und das exclude war auf false, welches ich durch ein true ersetzte, da ich nirgendswo einen Searchrange definiert habe.

Ich vermute es ist nicht die ideale Lösung aber sie funktioniert.

Gab es das mit den Artikelspezifikationen in der 4.4 auch schon? Ich kann mich daran überhaupt nicht erinnern und wo kann ich diese einstellen? In den Eigenschaften habe ich nur ein "Artikelspezifikationen: Keine Artikelspezifikationen gefunden".

Im Endeffekt funktioniert die Suche nun wie gewünscht. Ich hoffe, ich habe damit keine anderen Sicherheitsmerkmale ausgehebelt. Wovon ich nach dem bisschen Sourcecode lesen aber nicht grossartig ausgehe.

Trotzdem vielen Dank!

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mo 12. Dez 2005, 17:04

Naja ehrlich gesagt keine Ahnung

meine Vermutung war nur daß das Suchmodul eben nur entsprechende Artikel in die Suche mit aufnimmt, deshalb auch die Idee, mal beim Demomandanten nachzusehen

drachentöter
Beiträge: 11
Registriert: So 11. Dez 2005, 13:11
Kontaktdaten:

Beitrag von drachentöter » Di 13. Dez 2005, 12:46

Hi!

Ich habe das selbe Problem. Die Änderungen haben bei allerdingsnicht gebracht.

Ich verwende die Version 4.6.4 un dhabe die Beispielmandanten mit installiert.

Danke für Eure Hilfe

Ela

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 13. Dez 2005, 13:21

kann eure probleme nicht ganz nachvollziehen.

ich habe sowohl in einer 4.6.2 als auch 4.6.4 das standard-suchmodul un es läuft wie geschnitten brot ;)
mein vorgehn war genau das aus dem demomandanten keine anpassungen des codes wie weiter oben beschrieben

2 templates eingabe und ausgabe erstellen und entrpechendes modul einbinden

dann die suche normal im haupnavigationsbaum integriert
die ausgabe als artikel in den systemseiten

mandanten einstellungen nicht vergesen!
search resultpage <yr values here>
searchrange include <yr values here>

und wie gesagt funktioniert hervorragend.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

drachentöter
Beiträge: 11
Registriert: So 11. Dez 2005, 13:11
Kontaktdaten:

Beitrag von drachentöter » Di 13. Dez 2005, 17:07

Ich habe weitere Navigationsbäume in der "Kategorie" erstellt. Wie binde ich die den in die "suche" ein?

Vielen Dank

Ela

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 13. Dez 2005, 17:11

drachentöter hat geschrieben:Ich habe weitere Navigationsbäume in der "Kategorie" erstellt. Wie binde ich die den in die "suche" ein?

Vielen Dank

Ela
in dem du deren idcat unter 'searchrange include <yr values here> ' mit aufführst, bsp:

searchrange
include
1,4,89

wenn dies komplette bäume sind sollten diese dann auch durchsucht werden

guck mal in eine installation mit beispielmandanten und module
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Do 15. Dez 2005, 19:36

Die eben geschilderten Problem hatte ich auch und konnte sie mit den Hinweisen lösen! Es stimmt man mussunter Mandanteneinstellungen den Typ SEARCH und SEARCHRANGE anlegen. In SEARCHRANGE muss sollte man dann die IDCATS angeben welchen indexiert werden sollen, z.B Hauptavigation und Unternavigation um alle dort hinterlegten Artikel zu durchforsten!

Perfekt

Ronald.Fischer
Beiträge: 11
Registriert: Fr 29. Apr 2005, 17:04
Kontaktdaten:

Beitrag von Ronald.Fischer » Sa 28. Jan 2006, 19:19

n'Abend zusammen,
hoffe, das mein Post hier richtig ist :oops:

Auch ich hatte Probleme mit dem mitgelieferten Modul "Suche" von Contenido 4.6.4.
Meine Testumgebung ist eine Server, sowie lokale (Backup und Testumgebung) Installation und der Ursprung war die Version 4.4.5.

Nach einem Update auf 4.6.4 integrierte ich die neue Suche in meine Mandanten-Umgebung. Nachdem alle Variablen gesetzt waren (Mandanteneinstellung) und auch Module für Headline und Text vom Mustermandanten übernommen wurden, wollte ich die Suche testen. Es wurde mal was gefunden, mal nichts. Überwiegend blieb die Suche jedoch ohne Ergebnisse.

Nach einigen Versuchen, stellte ich fest, sobald ich einen neuen Artikel erstellte, die Suche mir hier Ergebnisse brachte. Ich vermutete also das es anscheinend Probleme mit einer bereits vorh. con_keywords gibt, denn wenn ich bei vorh. Artikel diese erneut speicherte, wurde auch dieser Artikel mit in die Suche berücksichtigt.

Ich leerte die Tabelle con_keywords und indexierte nun einige Artikel durch erneutes speichern. Die Artikel wurde in die Suche aufgenommen!

Und jetzt? Alle Artikel anwählen und neu speichern? NÖ !!

Durch Recherchen hier im Forum bin ich auf einen Beitrag von emergence aufmerksam geworden und konnte somit mir ein Backend Modul basteln um einen Mandanten komplett neu zu indexieren.

Code: Alles auswählen

echo ' BackendModul zum neu indexieren der SQL-Tabelle <strong>con_keywords</strong><br>';
echo ' für den jeweiligen Mandanten und seiner Sprache<br>';
echo "<p>Mandant = $client<br>Sprache = $lang </p>";
echo '<br><input type="checkbox" name="Fill" value="fill">&nbsp;&nbsp;con_keywords neu indexieren<br>'; 
echo '<br><input type="checkbox" name="Delete" value="delete">&nbsp;&nbsp;con_keywords Tabelle leeren<br>';

if ($Delete == "delete"){
$sql = "delete from ".$cfg['tab']['keywords']; 
$db->query($sql);
 }

if ($Fill == "fill") conGenerateKeywords($client, $lang);
Dieses Modul bitte im Backend (INPUT) installieren, ein Template erstellen mit nur einem Container und einer neuen Kategorie (entw. unsichtbar oder außerhalb des Hauptbaumes) zuweisen. Anschliessend über "Kategorie konfigurieren" den ensprechenen Haken bei "con_keywords neu indexieren" setzen und bestätigen. Der Prozess kann einige Zeit in Anspruch nehmen.

Der Haken "con_keywords Tabelle leeren" ist zu Testzwecken enstanden. Achtung dieser leert die komplette Tabelle, was für alle Mandanten gilt!

Seitdem ich diesen Schritt unternommen habe, klappt es richtig gut mit der neuen Suche :D

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat » Mo 27. Mär 2006, 16:53

hallo ronald,

habe genau das von dir beschriebene problem. alter mandant (1 mandant, 3 sprachen) 4.6.8 drüber installiert, neues suchmodul eingebaut. einige artikel werden gefunden, andere nicht.

war darum ganz froh deine lösung hier zu finden, leider funktioniert sie bei mir aber irgendwie nicht!!!

layout mit einem container, dein modul (im input-bereich) erstellt, in template eingebaut. anschließend kategorie erstellt, template zugewiesen und
con_keywords neu indexieren
ausgewählt. das ganze bestätigt. das dauerte dann auch ne weile bis die kategorien-übersicht wieder angezeigt wurde.

ergebnis: keine veränderung!!

ich will natürlich jetzt auch nicht für 3 sprachen alle artikel anwählen und neu speichern!!!

jetzt meine frage, hast du evtl eine idee woran es liegen könnte, dass es bei dir funktioniert bei mir aber nicht??? oder hat sich evtl jemand bei dir gemeldet, der das gleiche problem hat wie ich und es evtl gelöst hat???

wäre dir für ne antwort sehr dankbar.

gruß,
funomat
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Ronald.Fischer
Beiträge: 11
Registriert: Fr 29. Apr 2005, 17:04
Kontaktdaten:

Beitrag von Ronald.Fischer » Di 28. Mär 2006, 19:45

jetzt meine frage, hast du evtl eine idee woran es liegen könnte, dass es bei dir funktioniert bei mir aber nicht???
Ehrlich gesagt nein!
Wie du oben gelesen hast, habe ich auch die Tabelle con_keywords komplett geleert (was für alle Mandanten gilt!!) und anschließend neu indexiert.
Deweiteren exkludiere ich die Cats (also suche in allen Kategorien außer ... Mandanteneinstellung-> Typ searchrange Name include ). Seitdem ich diesen Vorgang ausführte, läuft die Suche Spitze! Was auch in meinem "Kreis" bestätigt wird.

...schon irgenwie seltsam, daß dieses Modul bei einigen Anwender Porbleme bereitet ? :(
Liegts vielleicht am Updateprozess?

funomat
Beiträge: 345
Registriert: Do 26. Feb 2004, 22:13
Wohnort: Neuss
Kontaktdaten:

Beitrag von funomat » Mi 29. Mär 2006, 07:34

Liegts vielleicht am Updateprozess?
gute frage! schade, dass sich keiner der cracks dafür zu interessieren scheint!! ich würde auf jeden fall auch darauf tippen, dass es am update liegt. bei allen anderen testinstalationen die durchgeführt habe, trat das problem nicht auf. egal ob ich mit oder ohne beispielmandanten aufgespielt habe.

ich habe jetzt auch die radikale methode gewählt um das problem zu lösen, und wie bei dir, funktioniert es jetzt einwandfrei. :D

danke für die antwort. ist ja leider auch nicht mehr selbstverständlich. :?
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)

Gesperrt