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.
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.