我有一个客户端应用程序,它代表任何给定的第三个恶意SharePoint站点的完整SharePoint结构(sitecollections,sites& subsites,doclibs,文件夹),作为导航树。
用户可以单击该树中的任何级别,并进行自由文本搜索。他们希望他们的搜索结果来自所选位置或以下。例如,
我正在尝试使用PATH属性的限制来实现此目的。但是,每当我在PATH上包含LIKE谓词时,搜索结果都会变为空。我做错了什么?
SharePoint Search SQL:
SELECT
URL,Path,FileName,Version,Size,LastModifiedTime,DocID
FROM
Scope()
WHERE
ContentClass='STS_ListItem_DocumentLibrary' AND
Path LIKE 'http://servername/doclib001/%' AND
FREETEXT(DEFAULTPROPERTIES, 'test' )
(SharePoint2010)
答案 0 :(得分:1)
查询路径似乎永远不会产生任何结果。但是,使用equals谓词运算符查询站点正是我想要的,即
SELECT
URL,Path,FileName,Version,Size,LastModifiedTime,DocID
FROM
Scope()
WHERE
ContentClass='STS_ListItem_DocumentLibrary' AND
Site = 'http://servername/doclib001' AND
FREETEXT(DEFAULTPROPERTIES, 'test' )
从doclib001以及doclib001 / folder001及以下产生结果。这是相当出乎意料的,因为(a)网站建议网站/网站,而不是任意网址和(b)我使用的是精确相等的运算符,而不是像/包含......但它运行良好,所以我不是抱怨!
到目前为止,非递归搜索似乎不太可能。