Solr数据导入时含空经纬度字段如何全量索引5k条数据?
解决Solr导入含部分空经纬度数据的全量索引问题
修改字段配置,允许空值
打开你的Solr核心的managed-schema(或旧版schema.xml),找到LatLng_p字段的定义,添加required="false"属性,让Solr接受该字段为空的文档:<field name="LatLng_p" type="location" indexed="true" stored="true" required="false"/>在数据导入阶段处理空经纬度场景
两种实现方式任选其一:- 在data-config.xml中做条件赋值
给字段添加condition属性,仅当lat和lng同时有值时才生成经纬度点格式,否则不赋值该字段:<field column="LatLng" name="LatLng_p" template="${lat},${lng}" condition="lat != null and lng != null"/> - 在数据库查询时预处理数据
如果数据来自数据库,直接在SQL语句里生成经纬度字段,无有效值时返回null:SELECT *, IF(lat IS NOT NULL AND lng IS NOT NULL, CONCAT(lat, ',', lng), NULL) AS LatLng FROM your_target_table
- 在data-config.xml中做条件赋值
排查导入错误日志
前往Solr的server/logs目录查看dataimport相关日志,确认是否存在格式错误或其他异常导致数据被跳过,根据日志提示调整配置或数据。
内容的提问来源于stack exchange,提问作者user1726697
相关产品推荐
相关产品推荐

