将lucene索引映射到Int32时抛出FormatException

时间:2016-05-17 10:02:42

标签: c# lucene sitecore

我使用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" />

0 个答案:

没有答案