[SOLVED] Elasticsearch filter multiple nodetypes


(kemal özkan) #1

Hi, I installed elasticsearch and its working for basic queries. What I want is to list all my Neos.Neos: Documents and all assets.

Flowpack.ElasticSearch->Configuration->Settings.yaml

searchQuery = ${this.searchTerm ? 
Search.query(site).fulltext(this.searchTerm).nodeType('Neos.Neos:Document') : null}

this is working fine but I want to add the nodes my.site:Alist to the original search result.
Is there a way to pass the Nodetypes as an array inside searchQuery?

I tried

nodeType([document, assetlist])
nodeType({document, assetList})

but both of them didn’t work.

Thank you in advance.
Kemal


(Daniel Lienert) #2

Hey Kemal,

that could be done like that:

documentTypeFilter = Neos.Fusion:RawArray {
    __typeAndSupertypes = Neos.Fusion:RawArray {
    0 = 'Neos.Neos:Document'
    1 = 'YourVendor:NodeType'
  }
}

baseQuery = ${Search.query(site).fulltext(this.searchTerm).queryFilterMultiple(this.documentTypeFilter)}

Cheers,
Daniel


(kemal özkan) #3

Hey Daniel,
thank you very much for your answer. It solved my problem.

Best,
Kemal