如何为solr索引数据为空时Field为空并存在?

默认设置数据为空或者null时,该索引的Field就不会创建,那么客户端解释数据时,这个Field不存在就会报错,如图:

关注者
被浏览

个回答

默认排序
飞舞九天
免费开源问答源码
人赞同了该回答

fields说明如下:

<field name="id" type="string" indexed="true" stored="true" required="true" />

  • name:标识而已。
  • type:先前定义的类型。
  • indexed:是否被用来建立索引(关系到搜索和排序)
  • stored:是否储存
  • compressed:[false],是否使用gzip压缩(只有TextField和StrField可以压缩)
  • mutiValued:是否包含多个值
  • omitNorms:是否忽略掉Norm,可以节省内存空间,只有全文本field和need an index-time boost的field需要norm。(具体没看懂,注释里有矛盾)
  • termVectors:[false],当设置true,会存储 term vector。当使用MoreLikeThis,用来作为相似词的field应该存储起来。
  • termPositions:存储 term vector中的地址信息,会消耗存储开销。
  • termOffsets:存储 term vector 的偏移量,会消耗存储开销。
  • default:如果没有属性需要修改,就可以用这个标识下。

 

参照上面的修改后

<field name="content" type="text_ik" indexed="true" stored="true" required="true" default="" />