我试图通过EmbeddedSolr导入一堆json文件。 solrconfig.xml
中导入的配置为:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">src/main/resources/solr-data/data-config.xml</str>
</lst>
</requestHandler>
而data-config.xml
是:
<dataConfig>
<dataSource type="FileDataSource" />
<document>
<entity name="f" processor="FileListEntityProcessor"
fileName=".*json"
rootEntity="false"
dataSource="null"
recursive="true"
baseDir="src/main/resources/solr-data/"/>
</document>
</dataConfig>
这是我以编程方式生成索引的方法:
System.setProperty("solr.solr.home", "multicore");
File home = new File( "src/main/resources/solr" );
File f = new File( home, "solr.xml" );
CoreContainer container = CoreContainer.createAndLoad( "src/main/resources/solr", f );
EmbeddedSolrServer server = new EmbeddedSolrServer(container, "my_core" );
SolrQuery importQuery = new SolrQuery();
importQuery.setRequestHandler("/dataimport");
importQuery.setParam("command", "full-import");
importQuery.setParam("entity", "f");
server.query(importQuery).getResponse();
SolrQuery qry = new SolrQuery();
qry.setRequestHandler("solr/my_core");
qry.setParam("q", "*:*");
System.out.println (server.query(qry).getResults().toString());
一旦我通过URL触发导入,我可以看到导入已被触发,但文件没有被加载,因此索引仍为空。
如何导入该文件?