我正在运行一个 FullTextSqlQuery,其中TrimDuplicates
设置为true
,并且已经搜索了几天为什么某些项目不在结果中。我今天才发现,当我设置TrimDuplicates=false
时会出现结果。
这是已知的 SharePoint 搜索错误吗?
我的代码很简单:
using (var fullTextSqlQuery = new FullTextSqlQuery(_searchServiceApplicationProxy))
{
fullTextSqlQuery.QueryText = querytext;
fullTextSqlQuery.ResultsProvider = SearchProvider.Default;
fullTextSqlQuery.TrimDuplicates = true;
fullTextSqlQuery.EnableStemming = true;
fullTextSqlQuery.EnableNicknames = true;
fullTextSqlQuery.IgnoreAllNoiseQuery = true;
fullTextSqlQuery.ResultTypes |= ResultType.RelevantResults;
if (pageSize.HasValue && pageSize.Value > 0)
{
fullTextSqlQuery.RowLimit = pageSize.Value;
fullTextSqlQuery.TotalRowsExactMinimum = pageSize.Value;
if (selectedPage.HasValue && selectedPage.Value > 0)
fullTextSqlQuery.StartRow = (selectedPage.Value - 1) * pageSize.Value;
}
searchResults = fullTextSqlQuery.Execute();
}
提前感谢您的回答。
在以下位置找到了部分答案: https://sharepoint.stackexchange.com/questions/14460/sharepoint-2010-search-when-is-a-document-a-duplicate
如果数据在一定程度上相似(不必是 100%),似乎 TrimDuplicates 会删除搜索结果。虽然实际的百分比是未知的。
简而言之,修剪重复项中没有错误,只是对此功能的行为方式了解不多。
现在我的问题是弄清楚它正在比较哪些数据。由于即使我使自定义列中的数据唯一,执行索引重置和另一个完全爬网,我正在寻找的页面仍然被修剪掉。