![]() |
VOOZH | about |
The Apache Solr platform is a popular, blazing-fast, open source enterprise search solution built on Apache Lucene.
Apache Solr is equipped with the Data Import Handler (DIH), which can import data from databases and, XML, CSV, and JSON files. When paired with the CData JDBC Driver for Elasticsearch, you can easily import Elasticsearch data to Apache Solr. In this article, we show step-by-step how to use CData JDBC Driver in Apache Solr Data Import Handler and import Elasticsearch data for use in enterprise search.
Accessing and integrating live data from Elasticsearch has never been easier with CData. Customers rely on CData connectivity to:
Users frequently integrate Elasticsearch data with analytics tools such as Crystal Reports, Power BI, and Excel, and leverage our tools to enable a single, federated access layer to all of their data sources, including Elasticsearch.
For more information on CData's Elasticsearch solutions, check out our Knowledge Base article: CData Elasticsearch Driver Features & Differentiators.
> solr create -c CDataCoreFor this article, Solr is running as a standalone instance in the local environment and you can access the core at this URL: http://localhost:8983/solr/#/CDataCore/core-overview
ElasticsearchUniqueKeyπ Define schema in Solr for Elasticsearch data.
Now we are ready to use Elasticsearch data in Solr.
In this section, we walk through configuring the Data Import Handler.
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">solr-data-config.xml</str>
</lst>
</requestHandler>
<dataConfig>
<dataSource driver="cdata.jdbc.elasticsearch.ElasticsearchDriver" url="jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;">
</dataSource>
<document>
<entity name="Orders"
query="SELECT Id,ElasticsearchColumn1,ElasticsearchColumn2,ElasticsearchColumn3,ElasticsearchColumn4,ElasticsearchColumn5,ElasticsearchColumn6,ElasticsearchColumn7,LastModifiedDate FROM Orders"
deltaQuery="SELECT Id FROM Orders where LastModifiedDate >= '${dataimporter.last_index_time}'"
deltaImportQuery="SELECT Id,ElasticsearchColumn1,ElasticsearchColumn2,ElasticsearchColumn3,ElasticsearchColumn4,ElasticsearchColumn5,ElasticsearchColumn6,ElasticsearchColumn7,LastModifiedDate FROM Orders where Id=${dataimporter.delta.Id}">
<field column="Id" name="Id" ></field>
<field column="ElasticsearchColumn1" name="ElasticsearchColumn1" ></field>
<field column="ElasticsearchColumn2" name="ElasticsearchColumn2" ></field>
<field column="ElasticsearchColumn3" name="ElasticsearchColumn3" ></field>
<field column="ElasticsearchColumn4" name="ElasticsearchColumn4" ></field>
<field column="ElasticsearchColumn5" name="ElasticsearchColumn5" ></field>
<field column="ElasticsearchColumn6" name="ElasticsearchColumn6" ></field>
<field column="ElasticsearchColumn7" name="ElasticsearchColumn7" ></field>
<field column="LastModifiedDate" name="LastModifiedDate" ></field>
</entity>
</document>
</dataConfig>> solr stop -all > solr start
Using the CData JDBC Driver for Elasticsearch you are able to create an automated import of Elasticsearch data into Apache Solr. Download a free, 30 day trial of any of the hundreds of CData JDBC Drivers and get started today.
Download a free trial of the Elasticsearch Driver to get started:
Download NowLearn more:
π Elasticsearch IconRapidly create and deploy powerful Java applications that integrate with Elasticsearch.