使用Domino Data Service按键搜索文档

时间:2013-12-18 15:13:27

标签: lotus-notes lotus-domino lotus

Domino数据服务是一件好事,但是可以按密钥搜索文档。 我没有在api和url参数中找到任何关于它的内容。

2 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

GET http://HOSTNAME/DATABASE.nsf/api/data/documents?search=QUERY&searchmaxdocs=N

N将是要返回的文档总数,QUERY将是您的搜索短语。 QUERY与进行全文搜索相同。

对于列查找,它应该是这样的:

GET http://HOSTNAME/DATABASE.nsf/api/data/documents?sortcolumn=COLUMN&sortorder=ascending&keys=ROWVALUE&keysexactmatch=true

COLUMN将是列名。 ROWVALUE将是您正在寻找的关键。

还有其他选择。更多细节在这里。

http://infolib.lotus.com/resources/domino/8.5.3/doc/designer_up1/en_us/DominoDataService.html#migratingtowebsphereportalversion7.0

答案 1 :(得分:1)

我尝试了上述操作,请求通常在30秒后服务器超时失败。使用/api/data/documentssortcolumn等参数调用keysexactmatch将无法实现此目的,因此需要调用   /api/data/collections应该用于这些。 另外,我认为像sortcolumn这样的参数不会对文档集合起作用,因为首先没有要排序的列,列在视图中而不在文档中,因此视图集合应该查询。这也模仿了getDocumentByKey方法的行为,它不能针对文档调用,而是针对视图调用。所以相反:

http://HOSTNAME/DATABASE.nsf/api/data/documents?search=QUERY&searchmaxdocs=N

我会打电话给

http://HOSTNAME/DATABASE.nsf/api/data/collections/name/viewname?search=QUERY&searchmaxdocs=N

而不是

http://HOSTNAME/DATABASE.nsf/api/data/documents?sortcolumn=COLUMN&sortorder=ascending&keys=ROWVALUE&keysexactmatch=true

我会打电话:

http://HOSTNAME/DATABASE.nsf/api/data/collections/name/viewname?sortcolumn=COLUMN&sortorder=ascending&keys=ROWVALUE&keysexactmatch=true

其中'viewname'是搜索的视图的名称。 这要快得多,在使用大型数据库时会派上用场。