【问题标题】:How to add "NeverPublish" field to lucene index on Sitecore?如何在 Sitecore 的 lucene 索引中添加“NeverPublish”字段?
【发布时间】: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


    【解决方案1】:

    这个配置对我来说很好用:

    它与你的类型不同:type="System.Boolean"

    p.s.:当然排除搜索应该像你上面提到的那样评论

    【讨论】:

    • 是的,我认为你是对的。让我再试一次。感谢提示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多