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.

4
  • 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, 2016 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, 2016 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. Nov 21, 2016 at 15:13
  • But I don't understand how and why the NOTIFICATION_REGISTER is not being set. Nov 21, 2016 at 15:28

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.