SharePoint关键字查询-如何排序
我正在编写一个自定义搜索应用程序。当前正在使用关键字查询类。我可以很好地获得结果,但如果我尝试按自定义属性进行排序,它会爆炸: 无法按pid 400对一个或多个进行排序 原因如下: 多值:false,二进制:false, 非索引:true 下面是代码。有人注意到这个问题吗?如果我按“等级”排序,它会工作得很好,但如果我使用的是一个被管理的属性,则不会SharePoint关键字查询-如何排序,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我正在编写一个自定义搜索应用程序。当前正在使用关键字查询类。我可以很好地获得结果,但如果我尝试按自定义属性进行排序,它会爆炸: 无法按pid 400对一个或多个进行排序 原因如下: 多值:false,二进制:false, 非索引:true 下面是代码。有人注意到这个问题吗?如果我按“等级”排序,它会工作得很好,但如果我使用的是一个被管理的属性,则不会 KeywordQuery query = new KeywordQuery(proxy); query.IgnoreAllNoise
KeywordQuery query = new KeywordQuery(proxy);
query.IgnoreAllNoiseQuery = false;
query.ResultsProvider = Microsoft.Office.Server.Search.Query.SearchProvider.Default;
//Return following properties
query.SelectProperties.Add("Title");
query.SelectProperties.Add("Path");
query.SelectProperties.Add("SiteDescription");
query.SelectProperties.Add("SiteKeywords"); //This is a multi-value so will have to be parsed
query.SelectProperties.Add("SiteType");
query.SelectProperties.Add("ContentClass");
query.SelectProperties.Add("SiteName");
//Query text (WHERE)
query.QueryText = queryText;
//Sort
//Not sure what the criteria is here, but trying to sort by Title does not work. ULS indicated it may need to be an indexed column?
query.SortList.Add("Title", Microsoft.Office.Server.Search.Query.SortDirection.Descending);
query.ResultTypes |= ResultType.RelevantResults;
ResultTableCollection searchResults = query.Execute();
如果是托管属性,则需要选择“通过使用哈希进行比较来减少文本属性的存储要求。”选中。如果是托管属性,则需要选择“通过使用哈希进行比较来减少文本属性的存储要求”选中。在对内容进行爬网之前,必须将托管属性设置为“可排序”。您可以使用powershell进行设置。在对内容进行爬网之前,必须将托管属性设置为“可排序”。您可以使用powershell进行设置。因此我一直在尝试按“标题”字段排序。当我为标题创建自己的托管属性时,我发现排序是有效的,映射到与OOB标题相同的爬网属性,并选中“通过使用哈希进行比较来减少文本属性的存储要求”。因此我一直在尝试按“标题”字段排序。我发现,当我创建自己的标题托管属性(映射到与OOB标题相同的爬网属性)并使用“通过使用哈希进行比较减少文本属性的存储要求”时,排序是有效的选中。标准标题托管属性不可排序标准标题托管属性不可排序