Как сделать Solr Dataimport (то есть из RDBMS), используя Java API?
Я новичок в Solr, на самом деле я попытался вручную выполнить индексацию таблиц базы данных в Solr, т. Е. Создал новый data-config.xml и запустил полный импорт из веб-интерфейса Solr.
Но теперь мне нужно сделать то же самое в Java. Поэтому мне нужно знать следующие вещи, используя Java:
Как установить источник данных Solr в Java APIКак установить сущность и запросКак запустить полный импортНа самом деле, для импорта данных мы пишем файл конфигурации, как показано ниже
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test_db"
user="root"
password="cloudera"/>
<document>
<entity name="emp"
query="select id,name from emp">
<field column="id" name="id"/>
<field column="name" name="name"/>
</entity>
</document>
</dataConfig>
и эту информацию о файле конфигурации мы предоставим в solrconfig.xml, как показано ниже
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
Но мое требование заключается в том, что я не хочу настраивать какой-либо XML-файл, как описано выше, просто я хочу сделать все это только из Java, поэтому мне нужно установить все конфигурации, которые я дал выше в XML, из самого кода Java, то есть что-то как ниже
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("Datasource","JdbcDataSource")
params.set("driver","com.mysql.jdbc.Driver")
params.set("url","jdbc:mysql://localhost:3306/test_db")
params.set("user","cloudera")
params.set("password","cloudera")
params.set("query","select * from emp"),etc.
Это третий раз, когда я публикую этот вопрос, но никто не дает мне точного решения или просто скажите мне, возможно ли это или нет?