gpt4 book ai didi

sharepoint - 如何执行 MOSS FullTextSqlQuery 并通过技能托管属性筛选人员结果?

转载 作者:行者123 更新时间:2023-12-04 00:49:01 26 4
gpt4 key购买 nike

我在尝试使用 CONTAINS 谓词筛选技能托管属性上的人员结果时遇到 MOSS FulltextSqlQuery 问题。让我演示一下:

没有过滤器的查询返回预期结果:

SELECT AccountName, Skills
from scope()
where freetext(defaultproperties,'+Bob')
And ("scope" = 'People')

结果

Total Rows: 1
ACCOUNTNAME: MYDOMAIN\Bob
SKILLS: Numchucks | ASP.Net | Application Architecture

但是当我附加一个 CONTAINS 谓词时,我不再得到预期的结果:

SELECT AccountName, Skills
from scope()
where freetext(defaultproperties,'+Bob')
And ("scope" = 'People')
And (CONTAINS(Skills, 'Numchucks'))

结果

Total Rows: 0

我知道我可以使用 SOME ARRAY 谓词完成此操作,但我想知道为什么这不适用于 Skills 属性的 CONTAINS 谓词。我已经成功地将 CONTAINS 谓词与一个指示为“多值”的自定义爬网属性一起使用。 Skills 属性(虽然它似乎是多值的)在 SSP 管理站点的 Crawled Properties 页面上没有这样指示:

http:///ssp/admin/_layouts/schema.aspx?ConsoleView=crawledPropertiesView&category=People

有人有什么想法吗?

最佳答案

因此,在 Mark Cameron(Microsoft SharePoint 开发人员支持)的帮助下,我发现某些托管属性必须通过设置 FullTextQueriable 属性启用才能使用 ManagedProperty 对象模型 API 进行全文搜索为真。下面是为我解决这个问题的方法。它可以包含在控制台应用程序中或作为场或 Web 应用程序范围的功能接收器。

    using Microsoft.Office.Server;
using Microsoft.Office.Server.Search.Administration;

private void EnsureFullTextQueriableManagedProperties(ServerContext serverContext)
{
var schema = new Schema(SearchContext.GetContext(serverContext));
var managedProperties = new[] { "SKILLS", "INTERESTS" };
foreach (ManagedProperty managedProperty in schema.AllManagedProperties)
{
if (!managedProperties.Contains(managedProperty.Name.ToUpper()))
continue;

if (managedProperty.FullTextQueriable)
continue;

try
{
managedProperty.FullTextQueriable = true;
managedProperty.Update();
Log.Info(m => m("Successfully set managed property {0} to be FullTextQueriable", managedProperty.Name));
}
catch (Exception e)
{
Log.Error(m => m("Error updating managed property {0}", managedProperty.Name), e);
}
}
}

关于sharepoint - 如何执行 MOSS FullTextSqlQuery 并通过技能托管属性筛选人员结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com