SharePoint 2013 日期搜索在 ?k=上次修改时间>4/28/2016 和 ?#k=上次修改时间>4/28/2016 之间的行为不一致



我正在对奇怪的日期搜索行为进行一些调查,该网站具有NZ日期格式的区域设置。从基本搜索页面进行搜索时,这是搜索结果URL -?k=DateCompleted=6/24/2004的附加查询字符串的解码版本。DateCompleted of 6/24/2004的返回结果。

但是,从搜索结果页面再次单击搜索,将使用DateCompleted of 6/25/2004返回结果。6/25似乎是UTC 6/24的NZT日期转换。URL的查询字符串已更新为-k=DateCompleted=6/24/2004#k=DateCompleted=6/24/2004

区别在额外的#k=DateCompleted=6/24/2004上。关于为什么?k#k的日期搜索有区别的想法?我的猜测是与Ajax调用有关,但在Technet/MSDN/Google搜索中找不到任何相关信息。

不是SharePoint搜索中的日期格式yyyy/mm/dd?

搜索结果Web部件具有属性AsynchronousResultRetrieval。将其设置为false将在本地日期返回结果(前提是URL 不包含 #k={search query}(,但是此设置会破坏分页,因为单击下一页链接将在URL上附加#k={search query}。设置为true时,搜索将日期搜索查询始终如一地为UTC日期,因此搜索6/24/2004(UTC(将返回结果6/25/2004(本地NZ Time(。

要注意的另一个属性是IgnoreStaleServerQuery将其设置为True以获得一致的结果。

最新更新