1、数据批量导入(DataImport)
判断数据重复的依据是schema.xml里的uniqueKey,即使多次重复导入,也不会产生重复的document:
<uniqueKey>c_id</uniqueKey>
2、更新schema
首先需要更新schema.xml和solrConfig.xml文件,比如增加一个field。注意在管理界面admin->core0->Overview里查看一下solr配置文件的位置(如Instance:/usr/share/solr/core0),要更新这个位置下的配置文件。
注意:需要重启solr才会生效,已经索引的document需要重新索引。
3、删除已经导入的数据
参考solr的wiki,在管理界面admin->core0->Documents里,用xml格式分别执行删除和确认命令:
<delete><query>*:*</query></delete> <commit/>
4、导入大量数据
如果一次导入大量数据,有可能会导致内存不足而失败。解决的办法是分批导入,在管理界面里core0->Dataimport下指定Start,Rows即可。(特别是有sub-entity的情况)
注意1:不要勾选clean复选框,否则上次导入的数据将比清除。
注意2:Start,Rows不是Start,End
注意3:Start值很高的时候,即使rows不大,导入速度仍然会很慢。此时可以用debug模式修改query(例如加上where id> 1000000)。
5、在tomcat里指定solr.home
在server.xml里的<context>下指定<Enviroment>:
<Environment name="solr/home" type="java.lang.String" value="/usr/share/solr"/>
参考资料:
How to fix java RuntimeException: Can't find resource 'solrconfig.xml'?