Indexing Solr-正在处理的自定义文本字段为Long,而不是text/String

Indexing Solr-正在处理的自定义文本字段为Long,而不是text/String,indexing,solr,schema,sitecore,custom-field-type,Indexing,Solr,Schema,Sitecore,Custom Field Type,我正在为Sitecore 9.2实例运行Solr 7.5。我在Solr模式(/conf/managedschema.xml)中添加了一个自定义字段类型,这样我就可以基于 400 246 org.apache.solr.common.SolrException java.lang.NumberFormatException 错误:[doc=sitecore://web/{46730869-114b-47ab-9c71-218fbe858caf}?lang=en&;ver=1&;n

我正在为Sitecore 9.2实例运行Solr 7.5。我在Solr模式(/conf/managedschema.xml)中添加了一个自定义字段类型,这样我就可以基于



400
246
org.apache.solr.common.SolrException
java.lang.NumberFormatException
错误:[doc=sitecore://web/{46730869-114b-47ab-9c71-218fbe858caf}?lang=en&;ver=1&;ndx=sitecore\u web\u index]为输入字符串“CAB”添加字段“c\u项目\u零件号\u ci”=“CAB”msg=时出错:“CAB”
400

当第一个文档到达时,您的字段可能没有定义,该字段中包含一个数值。由于您尚未停用无模式模式,Solr将猜测任何未定义字段的字段类型并添加它,并且由于它看起来像一个数值,因此定义为
long
字段。删除该字段并将其添加为所需类型,然后重新为内容编制索引。通常,应在生产环境中禁用无模式模式。第一个文档到达时,可能未定义字段,该字段中包含数值。由于您尚未停用无模式模式,Solr将猜测任何未定义字段的字段类型并添加它,并且由于它看起来像一个数值,因此定义为
long
字段。删除该字段并将其添加为所需类型,然后重新为内容编制索引。通常,应在生产中禁用无模式模式。
<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
    <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>
<field fieldName="c_item_part_number_ci" returnType="string_ci">Feature.Products.ComputedFields.ItemPartNumberField,Feature.Products</field>
<lst name="responseHeader">
  <int name="status">400</int>
  <int name="QTime">246</int>
</lst>
<lst name="error">
  <lst name="metadata">
    <str name="error-class">org.apache.solr.common.SolrException</str>
    <str name="root-error-class">java.lang.NumberFormatException</str>
  </lst>
  <str name="msg">ERROR: [doc=sitecore://web/{46730869-114b-47ab-9c71-218fbe858caf}?lang=en&amp;ver=1&amp;ndx=sitecore_web_index] Error adding field 'c_item_part_number_ci'='CAB' msg=For input string: "CAB"</str>
  <int name="code">400</int>
</lst>
</response>