Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询和/或搜索SharePoint文档ID_Sharepoint_Sharepoint 2010 - Fatal编程技术网

查询和/或搜索SharePoint文档ID

查询和/或搜索SharePoint文档ID,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我们启用了文档ID为的sharepoint 2010环境 给定(部分)文档ID,我们希望通过编程检索与该ID匹配的文档。问题似乎在于此列相当特殊,因为它可能需要特殊处理 使用SPSiteDataQuery,将_dlc_DocId字段作为viewfields的一部分进行提取可以正常工作。然而,将其作为where查询的一部分,永远不会导致获取任何文档 使用搜索API让我们一事无成 有没有人做到了这一点,或者对如何解决这个问题有什么建议 [Update]结果证明,我们被XML中的细微错误和错误的调试误

我们启用了文档ID为的sharepoint 2010环境

给定(部分)文档ID,我们希望通过编程检索与该ID匹配的文档。问题似乎在于此列相当特殊,因为它可能需要特殊处理

使用SPSiteDataQuery,将_dlc_DocId字段作为viewfields的一部分进行提取可以正常工作。然而,将其作为where查询的一部分,永远不会导致获取任何文档

使用搜索API让我们一事无成

有没有人做到了这一点,或者对如何解决这个问题有什么建议


[Update]结果证明,我们被XML中的细微错误和错误的调试误解所愚弄。这些东西很好用。

以防万一,没有人能从Sharepoint基础架构的深处提供灵巧的解决方案:

谷歌会怎么做

切片是,将其切成小方块,并将其转储到反向索引中

Solr和Lucene为此提供了一流的工具。其想法是将文档ID切成小块,并将文档的位置添加到该块的存储桶中

假设我们有一个Id为ABCD123的“非常好的文档”。您可以将其添加到桶中

ABCD,BCD1,CD12,D123

搜索部分ID(+日期、类型等其他数据,…)时,您(搜索引擎)创建存储桶的并集并应用附加约束

要实现这一点,您需要为sharepoint服务器编写一个spider,并编写一个例程,用于记录要索引的数据元素

在它的frnt中放置一个很好的REST接口(实际上SOLR已经有了这个接口),将它集成到主sharepoint服务器中,没有人需要知道它背后还有其他东西在运行


这些产品还可以增量更新索引,使其保持最新状态。

以防没有人能从Sharepoint基础架构的深处提供灵巧的解决方案:

谷歌会怎么做

切片是,将其切成小方块,并将其转储到反向索引中

Solr和Lucene为此提供了一流的工具。其想法是将文档ID切成小块,并将文档的位置添加到该块的存储桶中

假设我们有一个Id为ABCD123的“非常好的文档”。您可以将其添加到桶中

ABCD,BCD1,CD12,D123

搜索部分ID(+日期、类型等其他数据,…)时,您(搜索引擎)创建存储桶的并集并应用附加约束

要实现这一点,您需要为sharepoint服务器编写一个spider,并编写一个例程,用于记录要索引的数据元素

在它的frnt中放置一个很好的REST接口(实际上SOLR已经有了这个接口),将它集成到主sharepoint服务器中,没有人需要知道它背后还有其他东西在运行


这些产品还可以增量更新索引,使其保持最新。

您可以使用以下内容获取文档ID

SPFile file=MethodToUploadFileToServer(web,文件路径); SPListItem=file.item;
字符串DocID=item.Properties[“\u-dlc\u-DocID”].ToString()

您可以使用以下命令获取文档ID

SPFile file=MethodToUploadFileToServer(web,文件路径); SPListItem=file.item;
字符串DocID=item.Properties[“\u-dlc\u-DocID”].ToString()

我通常不会对这类事情做出贡献,因为比我更聪明的人总是在我之前到达那里,但由于这是一个没有正确答案的老问题,我想我会为那些找到这一页的人补充我的想法

我一直在努力解决这个问题,但经过一番探索,学习了一点Caml,我终于成功了。 我正在针对SharePoint 2010和Office365测试版使用SharePoint客户端对象模型

通过查看“所有列表项”查询开始您的查询:

Microsoft.SharePoint.Client.CamlQuery.CreateAllItemsQuery().ViewXml

“\r\n\r\n\r\n”

在查询中插入一个子项

然后加上

MDXC2KE55ASN-3-80

将MDXC2KE55ASN-3-80替换为您在where中查找的文档ID

另外,不要忘记,您可能也想利用这些:

1


然后使用List.GetItems()方法返回ListItemCollection。

我通常不会对这类事情做出贡献,因为比我更聪明的人总是在我之前到达那里,但由于这是一个没有正确答案的老问题,我想我会为找到这一页的人补充我的想法

我一直在努力解决这个问题,但经过一番探索,学习了一点Caml,我终于成功了。 我正在针对SharePoint 2010和Office365测试版使用SharePoint客户端对象模型

通过查看“所有列表项”查询开始您的查询:

Microsoft.SharePoint.Client.CamlQuery.CreateAllItemsQuery().ViewXml

“\r\n\r\n\r\n”

在查询中插入一个子项

然后加上

MDXC2KE55ASN-3-80

将MDXC2KE55ASN-3-80替换为您在where中查找的文档ID

另外,不要忘记,您可能也想利用这些:

1


然后使用List.GetItems()方法返回ListItemCollection。

您说得对,感谢您抽出时间发布您的答案。自从提出这个问题以来,我们发现它确实可以工作,这正是您描述它的方式(这段代码已经进入生产阶段很久了)。我们只是直接查询SharePoint对象模型,而不是通过webservice调用。你说得对,感谢你花时间发布你的答案。自从提出这个问题以来,我们发现它确实可以工作,这正是您描述它的方式(这段代码已经进入生产阶段很久了)。我们只是直接查询SharePoint对象模型,而不是通过webservice调用。