【发布时间】:2016-04-25 07:07:08
【问题描述】:
我正在 Sitecore 8 上开发一个小型后端应用程序。作为一项功能,该应用程序必须快速搜索数千个项目并找出哪个项目不可发布。据我所知,我需要将相关字段添加到 lucene 索引中。我在 google 上进行了研究,发现人们可以通过 __Never publish 字段访问此属性。例如,他们在 sitecore powershell 上使用它来切换这个布尔属性(我试过了,它可以工作)。
但是我正在努力使它在 Lucene 索引中工作。我在主数据库的索引定义中添加了这样的内容:
<configuration ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration">
<fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch">
<fieldNames hint="raw:AddFieldByFieldName">
<field fieldName="title" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
...
<field fieldName="__Never publish" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" />
</fieldNames>
</fieldMap>
</configuration>
我添加到索引中的任何字段(甚至是一些内置字段)都可以被索引并且内容也可以被存储。 (如上例中的“标题”)但我不明白为什么 neverpublish 字段没有。
我查看了其他配置文件,发现它被排除在Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config内部的索引之外,定义是这样的:
<exclude hint="list:ExcludeField">
....
<NeverPublish>{9135200A-5626-4DD8-AB9D-D665B8C11748}</NeverPublish>
....
<exclude>
然后我评论了它,但仍然没有运气。我想知道我是否正确引用了字段名称,或者还有什么我不应该的。有什么建议吗?
【问题讨论】:
标签: sitecore sitecore8 sitecore-lucene