Wie wird Solr Dataimport (d. H. Von RDBMS) mit der Java-API ausgeführt?

Ich bin neu in Solr. Eigentlich habe ich versucht, die Datenbanktabellen manuell in Solr zu indizieren, d. H. Eine neue data-config.xml zu erstellen und den vollständigen Import von der Solr-Weboberfläche auszuführen.

Aber jetzt muss ich dasselbe in Java machen. Ich muss also die folgenden Dinge mit Java wissen:

Wie setze ich die Solr-Datenquelle in der Java-API?So legen Sie die Entität und die Abfrage festWie wird der vollständige Import ausgeführt?

Zum Datenimport schreiben wir eine Konfigurationsdatei wie unten

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

und diese Konfigurationsdatei-Informationen werden wir in der Datei solrconfig.xml wie folgt bereitstellen:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
        <lst name="defaults">
            <str name="config">db-data-config.xml</str>
        </lst>
</requestHandler> 

Aber meine Anforderung ist, dass ich keine XML-Datei wie oben konfigurieren möchte, sondern nur alles von Java aus tun möchte. Daher muss ich alle Konfigurationen, die ich in XML oben angegeben habe, von Java-Code selbst festlegen, d. H so etwas wie unten

 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.

Dies ist das dritte Mal, dass ich diese Frage stelle, aber niemand gibt mir eine genaue Lösung oder sagt mir einfach, ist das möglich oder nicht?