1

I'm having an issue that I'm unable to get my Tridion index data inside the SOLR core using a Tomcat 7 deployer.

This is what is rendered on top of the page using the SI4T TBBs:

<!-- INDEX-DATA-START:<indexdata><url>/global/en/products/3-phase-products.jsp</url><title>3-Phase Separating Decanter</title><publicationid>11</publicationid><schemaid>241</schemaid><itemtype>64</itemtype><parentsgid>164</parentsgid><sgid>164</sgid><sgid>4</sgid><type>0</type><body>product. 3-Phase Separating Decanters</body></indexdata>:INDEX-DATA-END -->

This is what is inside my cd_storage config:

<Storages>
<StorageBindings>
   <Bundle src="SearchDAOBundle.xml"/>
</StorageBindings>
<Storage Type="persistence" Id="datadb" dialect="MSSQL" Class="com.tridion.storage.si4t.JPASearchDAOFactory">
    <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
    <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
        <Property Name="serverName" Value="${broker.database.url}" />
        <Property Name="databaseName" Value="${broker.database.name}" />
        <Property Name="user" Value="${broker.database.user}" />
        <Property Name="password" Value="${broker.database.password}" />
    </DataSource>
    <Indexer 
        Class="org.si4t.solr.SolrIndexer" 
        DefaultCoreUrl="${solr.core.url.default}" 
        Mode="http" 
        DocExtensions="pdf,docx,doc,xls,xlsx,pptx,ppt">
    </Indexer>
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.si4t.FSSearchDAOFactory" Id="defaultFile" defaultFilesystem="false">
    <Root Path="${tridion.storage.defaultFile.location}"/>
    <Indexer 
        Class="org.si4t.solr.SolrIndexer" 
        DefaultCoreUrl="${solr.core.url.default}" 
        Mode="http" 
        DocExtensions="pdf,docx,doc,xls,xlsx,pptx,ppt">
    </Indexer>
</Storage>  
<Storage Type="filesystem" Class="com.tridion.storage.si4t.FSSearchDAOFactory" Id="defaultData" defaultFilesystem="true" defaultStorage="true">
    <Root Path="${tridion.storage.defaultData.location}"/>
    <Indexer 
        Class="org.si4t.solr.SolrIndexer" 
        DefaultCoreUrl="${solr.core.url.default}" 
        Mode="http" 
        DocExtensions="pdf,docx,doc,xls,xlsx,pptx,ppt">
    </Indexer>
</Storage>

This is the information that I see in my cd_extensions log file:

2016-11-16 17:14:30,952 INFO  SolrIndexer - Setting defaultCoreUrl to: http://[ipadress-solrserver]/solr/products
2016-11-16 17:14:30,952 INFO  SearchIndexProcessor - Configured: org.si4t.solr.SolrIndexer
2016-11-16 17:14:30,952 INFO  SearchIndexProcessor - Loaded: org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,711 DEBUG JPASearchComponentPresentationDAO - JPASearchComponentPresentationDAO Init.
2016-11-16 17:14:33,763 DEBUG JPASearchPageDAO - JPASearchPageDAO init.
2016-11-16 17:14:33,871 INFO  SearchIndexProcessor - Configuration is: Storage(Class=com.tridion.storage.si4t.FSSearchDAOFactory, Id=defaultFile, Type=filesystem, defaultFilesystem=false)[Root(Path=/data/cms/site-staging/root), Indexer(Class=org.si4t.solr.SolrIndexer, DefaultCoreUrl=http://[ipadress-solrserver]/solr/products, DocExtensions=pdf,docx,doc,xls,xlsx,pptx,ppt, Mode=http)[]]
2016-11-16 17:14:33,871 INFO  SearchIndexProcessor - Using: org.si4t.solr.SolrIndexer as search index class for storageId: defaultFile
2016-11-16 17:14:33,871 INFO  SearchIndexProcessor - Loading org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,871 DEBUG SolrIndexer - Configuration is: Storage(Class=com.tridion.storage.si4t.FSSearchDAOFactory, Id=defaultFile, Type=filesystem, defaultFilesystem=false)[Root(Path=/data/cms/site-staging/root), Indexer(Class=org.si4t.solr.SolrIndexer, DefaultCoreUrl=http://[ipadress-solrserver]/solr/products, DocExtensions=pdf,docx,doc,xls,xlsx,pptx,ppt, Mode=http)[]]
2016-11-16 17:14:33,871 INFO  SolrIndexer - Setting defaultCoreUrl to: http://[ipadress-solrserver]/solr/products
2016-11-16 17:14:33,872 INFO  SearchIndexProcessor - Configured: org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,872 INFO  SearchIndexProcessor - Loaded: org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,872 DEBUG FSSearchDAOFactory - Processor instance number: 2
2016-11-16 17:14:33,872 DEBUG FSSearchDAOFactory - Instances of Search Index: 
2016-11-16 17:14:33,888 INFO  SearchIndexProcessor - Configuration is: Storage(Class=com.tridion.storage.si4t.FSSearchDAOFactory, Id=defaultData, Type=filesystem, defaultFilesystem=true, defaultStorage=true)[Root(Path=/data/cms/site-staging/root/data), Indexer(Class=org.si4t.solr.SolrIndexer, DefaultCoreUrl=http://[ipadress-solrserver]/solr/products, DocExtensions=pdf,docx,doc,xls,xlsx,pptx,ppt, Mode=http)[]]
2016-11-16 17:14:33,888 INFO  SearchIndexProcessor - Using: org.si4t.solr.SolrIndexer as search index class for storageId: defaultData
2016-11-16 17:14:33,888 INFO  SearchIndexProcessor - Loading org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,888 DEBUG SolrIndexer - Configuration is: Storage(Class=com.tridion.storage.si4t.FSSearchDAOFactory, Id=defaultData, Type=filesystem, defaultFilesystem=true, defaultStorage=true)[Root(Path=/data/cms/site-staging/root/data), Indexer(Class=org.si4t.solr.SolrIndexer, DefaultCoreUrl=http://[ipadress-solrserver]/solr/products, DocExtensions=pdf,docx,doc,xls,xlsx,pptx,ppt, Mode=http)[]]
2016-11-16 17:14:33,889 INFO  SolrIndexer - Setting defaultCoreUrl to: http://[ipadress-solrserver]/solr/products
2016-11-16 17:14:33,889 INFO  SearchIndexProcessor - Configured: org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,889 INFO  SearchIndexProcessor - Loaded: org.si4t.solr.SolrIndexer
2016-11-16 17:14:33,889 DEBUG FSSearchDAOFactory - Processor instance number: 3
2016-11-16 17:14:33,889 DEBUG FSSearchDAOFactory - Instances of Search Index: 
2016-11-16 17:14:38,814 INFO  FSSearchDAOFactory - Start committing transaction: tcm:0-192445-66560
2016-11-16 17:14:38,815 DEBUG FSSearchDAOFactory - Commit Indexing Start
2016-11-16 17:14:38,815 INFO  FSSearchDAOFactory - End committing transaction: tcm:0-192445-66560
2016-11-16 17:14:38,815 INFO  FSSearchDAOFactory - Committing Search took: 0 ms.
2016-11-16 17:14:38,815 INFO  FSSearchDAOFactory - Total Commit Time was: 1 ms.
2016-11-16 17:14:38,815 DEBUG FSSearchDAOFactory - Register currently contains:
2016-11-16 17:14:38,815 DEBUG FSSearchDAOFactory - Clearing register for transaction:tcm:0-192445-66560

I'm able to manually insert items from the deployer server inside the solr server using the curl command through SSH as described here:

So there is no problem with connections between the Deployer server and the SOLR server.

The SOLR core is build using the schema described on this page:

What am I doing wrong? For some reason the data is just not getting inserted into the solr core. There is also no single line of logging inside the SOLR logs.

  • Can you try to in the Solr config set all logging to DEBUG? I think that by default most relevant logging is turned off.. Also, in which application server are you running Solr? If in Tomcat, can you check catalina.out and error.log? – Raimond Nov 17 '16 at 16:24
  • And on the deployer side, can you set ROOT logging to DEBUG? Then you'll see everything that occurs. :) – Raimond Nov 17 '16 at 16:27
  • Changing the logging did not revealed more information that could be used. I did some more debugging in the JAVA code and found out that the code stops at this point in the SearchIndexProcessor.java: public void triggerIndexing (String transactionId, String storageId) throws IndexingException { if (NOTIFICATION_REGISTER.containsKey(transactionId)) { ... } } The NOTIFICATION_REGISTER is empty and does not contain the transactionId. That is also the reason why there is no more logging as it can't be reached. – Kris Lemmens Nov 21 '16 at 15:13
  • But I don't understand how and why the NOTIFICATION_REGISTER is not being set. – Kris Lemmens Nov 21 '16 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.