我使用Sitecore的LINQ接口来查询lucene索引,并使用[IndexField]属性以通常的方式创建了一个从SearchResultItem派生的类,以将计算的索引映射到Int32属性。
调用query.GetResults()时会抛出FormatException。经过大量调试后,我发现导致格式异常的字符串值为" \0\0\0\0\0\0\0\0\0"
由于我使用的计算索引总是返回一个有效的整数,因此无法解释该字符串值的来源。
导致这种情况的原因是什么?
修改
这里要求的是该字段的索引配置:
<field fieldName="playersquadnumber" >BusinessLogicLayer.ComputedIndexFields.PlayerSquadNumber,BusinessLogicLayer</field>
和
<field fieldName="playersquadnumber" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.Int32" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />