添加WHERE条件时,FullTextSqlQuery RowLimit设置默认

时间:2009-11-23 17:46:55

标签: sharepoint search

我们遇到的问题是,只要在WHERE子句中添加了某些条件,FullTextSqlQuery就只返回默认的100个结果。我们将RowLimit设置为int.MaxValue,当进行全开搜索时,我们将收到最大结果。在加入CONTAINS条款时,这只是一个问题。还有其他人看过这个问题吗?我无法在Google / Bing上挖掘任何东西。

FullTextSqlQuery kRequest = new FullTextSqlQuery(ServerContext.Current);
kRequest.KeywordInclusion = KeywordInclusion.AnyKeyword;
kRequest.ResultTypes = ResultType.RelevantResults;
kRequest.TrimDuplicates = false;
kRequest.RowLimit = int.MaxValue;
kRequest.Timeout = 120000;
ResultTableCollection resultTbls = kRequest.Execute();

查询代码:

string query = "SELECT Title, Path, Facility, OwnerDepartment, 
    FacilityActiveDate, FacilityInactiveDate, ScheduledReviewDate, DocID, 
    Version FROM SCOPE() WHERE ";
query += "Path like '%" + site.Url + "%'";

// when it hits the else statement is an example of when it will only 
// return 100 results
if (FacilitySelectedIndex == 1)
  {
    query += " AND Facility IS NOT NULL";
  }
else
  {
    query += " AND CONTAINS(Facility, '\"*" + FacilityShortName.Trim() + "*\"')";
    queryText.Add("Facility=" + FacilityShortName);
  }
}

0 个答案:

没有答案