如何使用lucene索引Multilist

时间:2014-03-05 12:42:40

标签: .net lucene sitecore sitecore7

在我们的模板中,我们定义了一个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 ??

提供

非常感谢提前 罗伯特

1 个答案:

答案 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" />