前段时间碰到了solr在全量导入时,如何数据量过大(当时数据500W左右),如果此时全量导入时的clean参数为true,在8分钟左右会自动清除原来的数据,导致搜索时都是空的。为了解决这个问题,我把clean参数调整为false,但是,这意味这保留原来的索引,如果从MySQL重新导入数据时,会进行覆盖操作,但是仅限于solr在索引中的id和MySQL中的id一致才能覆盖,否则Solr会保留之前的索引。这个问题先放下。
之前在导入数据时的配置文件db-data-config.xml。
有数据源的配置参数:
在这个参数里还能加batchSize="-1" 这个参数的作用能防止MySQL数据过大,从而导致导入时内存溢出。建议生产环境给他配置上
参考官方文档:https://lucene.apache.org/solr/guide/6_6/uploading-structured-data-store-data-with-the-data-import-handler.html
在解决这个问题后,回到一开始的问题,居然莫名的解决了。clean参数为true,在导入期间是不会删除原来的索引,搜索结果正常