Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Error: Solr Integration with AEM 6.4

Avatar

Level 4

I'm not able to integrate Solr 7.5 with AEM 6.4,

getting the following error:

Solr Package Error.PNG

I have tried with almost every version of Solr, but I am getting the same error again and again!

I am simply following this tutorial:

Adobe Experience Manager Help | Integrating SOLR with Adobe Experience Manager

But, in this tutorial, apache.felix.scr.annotations are used. I am just replacing these annotations with osgi annotations.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Here is the new article with R6 annotations working - along with a video.

Adobe Experience Manager Help | Integrating SOLR with Adobe Experience Manager 6.4

@Component

public class SolrSearchServiceImpl implements SolrSearchService

One difference here is we show new way of reading OSGi config values for this use case. This involves these annotations:

package com.adobe.aem.core;

import org.osgi.service.metatype.annotations.AttributeDefinition;

import org.osgi.service.metatype.annotations.AttributeType;

import org.osgi.service.metatype.annotations.ObjectClassDefinition;

@ObjectClassDefinition(name = "AEM Solr Search - Solr Configuration Service", description = "Service Configuration")

public @interface MySimpleService {

    

    @AttributeDefinition(name = "Protocol", defaultValue ="http", description = "Configuration value")

    String protocolValue();

   

   

    @AttributeDefinition(name = "Solr Server Name", defaultValue ="localhost", description = "Server name or IP address")

    String serverName();

   

    @AttributeDefinition(name = "Solr Server Port", defaultValue ="8983", description = "Server port")

    String serverPort();

   

    @AttributeDefinition(name = "Solr Core Name", defaultValue ="collection", description = "Core name in solr server")

    String serverCollection();

   

    @AttributeDefinition(name = "Content page path", defaultValue ="/content/we-retail", description = "Content page path from where solr has to index the pages")

    String serverPath();

    

}

View solution in original post

24 Replies

Avatar

Level 2

I ran into the same issue and I fixed it by manually installing the bundle in Web Console from my local maven repository. After that, the bundle will resolve the dependency and the service can be activated.

Note that I'm using Solr 7.5 and tried both jars from org.apache.servicemix.bundles.solr-solrj and org.apache.solr.solr-solrj, but installing org.apache.solr.solr-solrj failed with error: java.io.IOException: Bundle-SymbolicName header missing, cannot install bundle.

BTW, I hope someone can explain what the difference is, but org.apache.servicemix.bundles.solr-solrj jar is bigger in size than org.apache.solr.solr-solrj.

Regards,

Lucas

Avatar

Level 2

Do you think is there a chance you guys could update a more recent Solr version? That makes the big difference on this issues though. That would be really awesome :-)

We are getting the same kind of problems when trying to do the same project on the article (sing archetype 22) and different Solr versions, higher than 7.1

Thanks,

Juan

Avatar

Level 1
I am using AEM 6.5 and solr version 8 and facing same issue. Is there any solution for this error?

Avatar

Level 1

I had the same problem and added the following dependencies to remove the error:

              <!-- SOLR CORE AND ITS DEPENDENCIES -->
		<dependency>
			<groupId>org.apache.solr</groupId>
			<artifactId>solr-core</artifactId>
			<version>8.11.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.solr</groupId>
			<artifactId>solr-solrj</artifactId>
			<version>8.11.2</version>
		</dependency>