在我们的模板中,我们定义了一个Multilist字段。我们将此字段添加到Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config文件中:
<field fieldName="apps_or" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.GUID" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider">
为什么在此文件中显示<IndexAllFields>true</IndexAllFields>
时这是必要的?
在我们添加此行并发布所有内容后,我们会看到该字段显示在Luke工具的“概述”标签中。但是在“文档”选项卡中,该字段仍然缺失。此外,当我们使用.Net对Web索引进行内容搜索时,该字段始终为null:
class NewsSearchResultItem : SearchResultItem
{
public string Title { get; set; }
public string Body { get; set; }
public string Introduction { get; set; }
[IndexField("apps_or")]
public IEnumerable<ID> AppIdOr { get; set; }
}
apps_or是Luke工具中显示的索引名称。任何想法如何正确获取索引中的字段并通过.Net ??
提供非常感谢提前 罗伯特
答案 0 :(得分:2)
你是对的femtoRgon!它已编入索引但未存储,显然您必须启用在同一配置文件中存储多列表字段:
<fieldType fieldTypeName="multilist" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />