Elasticsearch | Own contents not indexed

Good morning,

I’ve installed flowpack/elasticsearch-contentrepositoryadaptor and I’m running Elasticsearch 1.7.6 on my local machine. I have several own node types, but they are not indexed. When I’m understanding everything right, then normally I don’t have to configure something. Every content (node type) should be indexed, even own contents. But for some reason I can’t see that my own node types are indexed. Do I miss something?

Kind regards,
Michael

Hi Michael,

Maybe you miss this section https://github.com/Flowpack/Flowpack.ElasticSearch.ContentRepositoryAdaptor#advanced-fulltext-indexing ?

Cheers,
Visay

Hmm, yes I missed it, but after I’ve added it, it still doesn’t change anything.

I have an own node type Foo.Website:Jumbotron and it has a headline and sub headline. On my start page a Jumbotron element exists and the subheadline contains “Produkt” or “Marken”. And when I’m searching for e. g. “Produkt” it doesn’t appear in my results. Nothing appears in the results.

Hey Michael

I just implemented ES in the last few days into a Neos project and had the same issue. I solved it by doing those steps:

Step 1: As Visay said, add the configuration for the fulltext-search to your properties (see his link). Example for your property could be (if it’s a field with RTE enabled):

headline:
  search:
    fulltextExtractor: ${Indexing.extractHtmlTags(value)}

or otherwise (if it’s just a plain-textfield, no RTE) use this (you can adapt h1 to any value from h1-h6 or text, depending on how you want ES to set its priority):

headline:
  search:
    fulltextExtractor: ${Indexing.extractInto('h1', value)}

Step 2: Make sure you have the configured ES correctly (scripting must be enabled): https://github.com/Flowpack/Flowpack.ElasticSearch.ContentRepositoryAdaptor#elasticsearch-configuration-file-elasticsearchyml

In my case especially the 2nd step was not done complely and scripting was not enabled. Of course you need to restart ES and run a reindex after ES config is changed

Hope that helps,
Peter

Hi Peter,

thank You for Your answer. I will check my configuration. Can You tell me which Elasticsearch version You’re using?

Sure, we use version 1.7, I can also hand you over the whole config if you need it, just contact me via neos-slack (@peter.rauber) if needed.

Good morning!

I don’t know if this is necessary. I used the standard configuration that is mentioned in the readme. Yesterday I’ve installed the Elasticsearch version 2.4.6 and it seems that he’s indexing much more than with version 1.7.6. But I still get no results if I search for “Produkt”. Does Your config differ from the standard config of the readme?

We installed ES 1.7 and apapted the settings exactly to those mentioned here:

Ok, thank You. I think I’ve got it now, it’s indexing nearly everything. But there is one exception: I’ve created a Team node type and an Employee node type. The team node type lists all employee node types. The first one (team node type) is on a “regular” page. The employee node types are stored in a “system” page, that is disabled. In the team node type I’m pointing to the page that contains the employees. But the employees are not indexed. How can I archive that the employees are indexed and pointing to the team website?

Hm, I have no experience with that case. Maybe you can hook into the indexing-mechanism that collects the data from the content-nodes into the document-node and add data from referenced nodes like that.
Maybe someone else here can give you a better tipp.

BR,
Peter

Why the system page is hidden ? I will break link generation for the children nodes. Your System node type can be based on the Shortcut node type, redirecting to the parent or the first children.

Because the system page should not be visited and indexed. Your suggestion is not bad, but doesn’t solve my problem. Even if the contents will be indexed, they are indexed at the wrong place. The employees are stored under System/Mitarbeiter but listed (by the Team node type) in Firma/Team. And that’s where they should be pointing to.