plamka
I'm new here

Inhalte suchen über Metadaten

Jump to solution

Hallo,

ich möchte zum Generierunszeitpunkt nach einem Inhalt bzw. einem Strukturknoten suchen, bei dem ein bestimmter Wert in den Metadaten gesetzt ist.

Z.b. Metadatenfeld = MarktID

Ideen?

Viele Dank und Gruß

David

1 Solution

Accepted Solutions
bIT_sosswald
Returning Responder

Hi David,

ich würde mir ein kleines Modul bauen (oder ein bestehendes erweitern) und mir dort einen Search-Endpoint bauen.

Das ganze geht sicherlich auch direkt aus dem Templatecode, aber das habe ich noch nicht ausprobiert.

Per API in einem Modul geht es ungefähr wie folgt:

public void searchQueryAgent(){

        BrokerAgent brokerAgent= connection.getBroker().requireSpecialist(BrokerAgent.TYPE);

        SpecialistsBroker brokerByProjectId = brokerAgent.getBrokerByProjectId(mithrasEnergy.getId());

        QueryAgent queryAgent = brokerByProjectId.requireSpecialist(QueryAgent.TYPE);

        Iterable<IDProvider> answer = queryAgent.answer("meta.md_copyright = sucheeee");

        for (IDProvider idProvider : answer) {

            System.out.println(idProvider.getUid());

        }

    }

Siehe hierzu auch QueryAgent (FirstSpirit Developer-API) / SearchService // Finden aller nicht freigegebene Objekte / Re: WorkflowAgent in Modul

Grüße in den hohen Norden

Sandro

View solution in original post

0 Kudos
3 Replies
bIT_sosswald
Returning Responder

Hi David,

ich würde mir ein kleines Modul bauen (oder ein bestehendes erweitern) und mir dort einen Search-Endpoint bauen.

Das ganze geht sicherlich auch direkt aus dem Templatecode, aber das habe ich noch nicht ausprobiert.

Per API in einem Modul geht es ungefähr wie folgt:

public void searchQueryAgent(){

        BrokerAgent brokerAgent= connection.getBroker().requireSpecialist(BrokerAgent.TYPE);

        SpecialistsBroker brokerByProjectId = brokerAgent.getBrokerByProjectId(mithrasEnergy.getId());

        QueryAgent queryAgent = brokerByProjectId.requireSpecialist(QueryAgent.TYPE);

        Iterable<IDProvider> answer = queryAgent.answer("meta.md_copyright = sucheeee");

        for (IDProvider idProvider : answer) {

            System.out.println(idProvider.getUid());

        }

    }

Siehe hierzu auch QueryAgent (FirstSpirit Developer-API) / SearchService // Finden aller nicht freigegebene Objekte / Re: WorkflowAgent in Modul

Grüße in den hohen Norden

Sandro

0 Kudos

Hi Sandro,

super ! Vielen Dank für die schnelle Antwort.

Der QueryAgent  hat mir gefehlt, ich werde den Ansatz direkt ausprobieren.

Lieben Gruß zurück

0 Kudos
mbergmann
Crownpeak employee

Hi David,

kleiner Hinweis weil Du „zum Generierungszeitpunkt“ geschrieben hast: Der QueryAgent arbeitet NUR auf dem Current-Stand. D.h. je nachdem wie sich current und released Stand unterscheiden, bekommst Du u.U. „falsche“ Ergebnisse.

Viele Grüße

Michael