精简值停止返回“提示”

时间:2018-11-22 08:22:26

标签: sharepoint sharepoint-search

我遇到了SharePoint 2016中搜索返回的优化值的问题。我不知道它何时开始出现,但也许与从SP 2013到SP 2016的迁移有关?后来我们从搜索优化中返回,值看起来像这样:

Refinement Value: Organizational:ColAfterSyncUpg  GP0|#1dc79002-d32b-4faa-89f3-08ab45051e70  L0|#01dc79002-d32b-4faa-89f3-08ab45051e70|Organizational:ColAfterSyncUpg  GTSet|#4642cdf4-872b-4179-96f5-043fbadb0fcf  GPP|#4f668d16-2643-436b-b72b-0f180ccae0e6

此值来自托管属性,该属性附加了两个已爬网属性:

ows_<managed_metadata_field_name>
ows_taxId_<managed_metadata_field_name>

。因此,我可以获得正确的GUID,并在搜索查询中通过一些优化过滤器。但是现在(我不知道什么时候开始发生),当我将一个新文档添加到一个空集合(没有旧的,正确的文件)时,搜索正在对该字段进行爬网并仅返回:

Refinement Value: Organizational:ColAfterSyncUpg

我想第二个爬网属性(ows_taxid)为空。但为什么? SP 2016中做了什么更改,现在没有创建此属性还是什么?可以对“旧”文件进行爬网,不能对“新”文件进行爬网...

编辑: 发现当我手动编辑项目时,一切正常,并且搜索返回带有GUIDS的正确值。所以也许代码有问题?代码很复杂,但是其中一部分:

var taxValue =
            new TaxonomyFieldValue(field)
            {
                TermGuid = tagDto.TagId.ToString(),
                Label = tagDto.DefaultLabel,
                WssId = -1
            };
field.SetFieldValue(entity, taxValue);
entity.UpdateOverwriteVersion();

1 个答案:

答案 0 :(得分:0)

我发现了导致问题的原因。我的一个团队成员在我们的代码提供文档期间禁用了事件。看起来SP有一些事件会生成这些值,并且如果需要它们,则不能禁用这些事件。