0
큰 문제가 있습니다. 동일한 ContentTypeID를 가진 여러 목록에서 항목을 반환하기 위해 서버 측 코드에서 KeywordQuery를 사용하고 있습니다. 나는 그 목록에 몇 가지 datetime 열이 있습니다. 키워드 검색에서 값을 반환 할 때KeywordQuery를 사용하여 검색 결과에 잘못된 DateTime 반환
3/2/2017 11:00:00 PM
그러나 목록 항목에 날짜로 3/3/2017을 저장했습니다! 여기서 뭐가 잘못 됐니? 검색 데이터베이스에서 1 시간이라는 항상 날짜를받는 이유는 무엇이며 어떻게 서버 측 코드에서이 문제를 해결할 수 있습니까? 내가 여기에서 활동하기 시작하는 시간대 이동하다고 생각
SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(querySite));
using (KeywordQuery keywordQuery = new KeywordQuery(proxy))
{
try
{
keywordQuery.ResultsProvider = SearchProvider.Default;
keywordQuery.StartRow = 0;
keywordQuery.RowLimit = 9999;
keywordQuery.EnableStemming = false;
keywordQuery.TrimDuplicates = false;
keywordQuery.AuthenticationType = QueryAuthenticationType.PluggableAuthenticatedQuery;
keywordQuery.KeywordInclusion = KeywordInclusion.AllKeywords;
keywordQuery.QueryText = "contentclass:\"STS_ListItem_Task\" NOT ContentTypeId:\"0x010800C140B62AF5566C4CBFC76C53B8D4DA94\"";
keywordQuery.SelectProperties.Add("Author");
keywordQuery.SelectProperties.Add("AssignedTo");
keywordQuery.SelectProperties.Add("DueDate");
keywordQuery.SelectProperties.Add("StartDate");
keywordQuery.SelectProperties.Add("path");
keywordQuery.SelectProperties.Add("title");
SearchExecutor executor = new SearchExecutor();
ResultTableCollection resultTableCollection = executor.ExecuteQuery(keywordQuery);
var resultTables = resultTableCollection.Filter("TableType", KnownTableTypes.RelevantResults);
ResultTable resultTable = resultTableCollection.FirstOrDefault();
if (resultTable.Table.Rows.Count > 0)
{
...
}
}
catch (Exception ex)
{
}
}