Home / Forum / API , eZSearch::search ($searchText)

API , eZSearch::search ($searchText)

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

Daniel B

Registriert seit: 10.09.2009

Beiträge: 33

Freitag, 04. Dezember 2009 09:31:58

Guten Morgen,

Ich suche per API bestimmte Contentobjekte. Das funktioniert auch soweit. Verschiebe ich im Admin das Contentobject in einen anderen Folder, wird es allerdings nicht mehr gefunden.
Schiebe ich es wieder an seinen ursprünglichen Ort, dann wird es auch gefunden. Hat jemand eine Erklärung dafür? Anbei ein Beispiel:

Funktioniert

 - Folder
     - Child Folder0
         - Child Folder1

eZSearch::search('Child Folder1')


Funktioniert nicht
 - Folder
 - Folder1
     - Child Folder1

eZSearch::search('Child Folder1')


Danke


Tino Maass

Registriert seit: 24.11.2008

Beiträge: 12

Freitag, 04. Dezember 2009 15:54:42

Findet er es nach dem Verschieben auch nicht, wenn du den Cache löscht?

====================================================
JAC-Systeme GmbH
http://www.jac-systeme.de

CJW Network
http://www.cjw-network.com

Daniel B

Registriert seit: 10.09.2009

Beiträge: 33

Montag, 07. Dezember 2009 09:36:34

...auch dann nicht

Felix Woldt

Bild Felix Woldt

Registriert seit: 31.01.2006

Beiträge: 353

Montag, 07. Dezember 2009 09:43:16

Mit dem cache hat das nix zu tun - denke ich jedenfalls.

Du kannst einmal probieren den searchindex neu aufzubauen - vielleicht hat ez sich da irgendwie verschluckt.
Probiere mal folgendendes

cd ezroot
php bin/php/updatesearchindex.php -s siteaccess


Gruß Felix

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-Network.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Daniel B

Registriert seit: 10.09.2009

Beiträge: 33

Montag, 07. Dezember 2009 11:06:12

...hmm leider kein Effekt.

Der 2. Parameter ist doch nicht zwingend erforderlich oder?

Danke

Thomas Köhn

Thomas Köhn

Registriert seit: 05.03.2007

Beiträge: 355

Montag, 07. Dezember 2009 11:13:31

Den zweiten Parameter brauchst du damit eZ weiß, auf welcher Datenbank es hantieren soll. Meist bietet sich der Admin-Siteaccess an.

Dipl. Ing. (FH) M. Sc. Thomas Köhn

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-NETWORK.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Daniel B

Registriert seit: 10.09.2009

Beiträge: 33

Montag, 07. Dezember 2009 11:17:43

...der 2. Parameter ist also nicht zwingend erforderlich?! Wird er weggelassen sucht ez überall?
Wie gesagt, die Suche funktioniert ja, wenn sich das Contenobject in einem bestimmten Folder befindet.

Wie müsste der Methodenaufruf denn korrekt aussehen?

Thomas Köhn

Thomas Köhn

Registriert seit: 05.03.2007

Beiträge: 355

Montag, 07. Dezember 2009 12:21:23

Bin mir nicht ganz sicher, aber ich denke der wird benötigt. Du solltest doch aber sehen, ob er etwas macht oder nicht. Der Neuaufbau des Searchindex dauert ja doch je nach Datenbankgröße eine Weile. Wenn es ganz fix geht, dann hat eZ nix gemacht und du brauchst den zweiten Parameter.

Dipl. Ing. (FH) M. Sc. Thomas Köhn

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-NETWORK.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Daniel B

Registriert seit: 10.09.2009

Beiträge: 33

Montag, 07. Dezember 2009 15:26:08

... ich meinte den 2. Parameter der Methode ezsearch...

die Indexierung läuft soweit....

Tino Maass

Registriert seit: 24.11.2008

Beiträge: 12

Montag, 07. Dezember 2009 17:08:00

Vor dem Searchaufruf vll mal die eZSearch::cleanup() Funktion aufrufen?

Tells the current search engine to cleanup up all data. 


Wie gesagt, vielleicht.

====================================================
JAC-Systeme GmbH
http://www.jac-systeme.de

CJW Network
http://www.cjw-network.com

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein