我有一个xquery文件,返回超过2.2GB的文本数据.当我直接在浏览器(Chrome)中点击xquery文件时,它会加载所有文本数据.
但是当我尝试使用xdmp:http-post($url,$options)它调用该xquery文件时会抛出XDMP-TOOBIG错误.以下是痕迹.
XDMP-TOOBIG: xdmp:http-post("http://server:8278/services/getText...", <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>) -- Document size exceeds text document size limit of 2048 megabytes
in /services/invoke.xqy, at 20:7 [1.0-ml]
$HTTP_CALL = <configurations xmlns:config="" xmlns=""><credentails><username>admin</username><password>admin</password...</configurations>
$userName = text{"admin"}
$password = text{"admin"}
$timeOut = text{"600000"}
$url = "http://server:8278/services/getText..."
$responseType = "text/plain"
$options = <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>
$response = xdmp:http-post("http://server:8278/services/getText...", <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>)
$set-reponse-type = ()
Run Code Online (Sandbox Code Playgroud)
我可以在我使用xdmp的文件中指定的任何限制:http-post或任何其他解决方案?
感谢帮助.
我正在尝试构建一个角度应用程序来访问MarkLogic数据库中的数据.我正在使用MarkLogic rest API来访问数据.当我尝试运行该应用程序时,出现以下错误.
XMLHttpRequest无法加载 http://192.168.192.75:9550/v1/keyvalue?element=fieldId&value=1005&format=json.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http:// localhost:8080 "访问.
我已经在stackoverflow上阅读了很多与此问题相关的答案,但无法正常工作.这是我到现在为止所尝试的.
1) Setting the response header using xdmp in qconsole
xdmp:add-response-header("Access-Control-Allow-Origin", "*");
xdmp:add-response-header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
xdmp:add-response-header("Access-Control-Allow-Headers", "x-requested-with, X-Auth-Token, Content-Type");
2) Tried to add headers by using REST [Extention][1]. Here is the example.sjs file which I wrote.
a) function get(context, params) {
var results = [];
context.outputTypes = [];
for (var pname in params) {
if (params.hasOwnProperty(pname)) {
results.push({name: pname, value: params[pname]});
context.outputTypes.push('application/json');
}
}
context.outputStatus = [201, 'Created My …Run Code Online (Sandbox Code Playgroud) 我有一个场景,我想要删除的大多数文件都在一个名为"过期"的集合中.我不希望通过运行一个长时间运行的进程来重载我的服务器,这个进程将遍历文档并逐个删除它们,我宁愿使用document-delete以批量大小来执行它们.
所以我的问题是xdmp:collection-delete是如何工作的?
它是否迭代文档并删除它们?
要么
它是否像SQL中的DROP Table和它的"瞬时"一样?
我想知道xdmp:collection-delete的后台进程是什么.我想知道是否有人可以绘制该函数如何处理文档以进行删除的流程,因为我想要更深入地理解该过程,而不仅仅是概述它的作用.
在marklogic中,三元组可以嵌入到现有文档中.我如何使用cts搜索查询来返回文档.文档的一个例子可以是
<ContentVersion>
<Name>Testing</Name>
<Status>Approved</Status>
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<sem:triple>
<sem:subject>http://mycontent/content/Testing</sem:subject>
<sem:predicate>is</sem:predicate>
<sem:object>Approved</sem:object>
</sem:triple>
</sem:triples>
</ContentVersion>
Run Code Online (Sandbox Code Playgroud)
如果尝试以下查询
let $query := cts:word-query('Testing',"case-insensitive")
let $sparql := "PREFIX cts: <http://marklogic.com/cts#>
DESCRIBE ?s
WHERE{
?s ?p ?o .
FILTER cts:contains(?o, cts:word-query('Testing'))
}"
let $results := sem:sparql($sparql,(),("default-graph=magician"),($query))
return(sem:rdf-serialize($results,'rdfxml'))
Run Code Online (Sandbox Code Playgroud)
我得到一个空洞的结果.关于为什么没有归还的任何想法?我正在使用MarkLogic 7
我有一个有3个节点的集群.我配置了配置App Server的数据库.
我想知道如果生成的访问日志在群集中的主机上是相同的
或者每个主机都有一个单独的"访问日志",可以将请求记录到其主机.
我知道群集中的每个主机都维护自己的审核日志文件.它对Access日志的工作方式是否相同.
谢谢,Karthik
我正在尝试使用healthcheck app server监视Marklogic服务器主机,但是服务器正在抛出 SEC-DEFAULTUSERDNE: Default user does not exist: HealthCheck error.
kakula @ ops3r:〜/ monitor $ curl -s --connect-timeout 2 -m 1 http://主机名:7997
<pre><body>
<span class="error">
<h1>500 Internal Server Error</h1>
<dl>
<dt>SEC-DEFAULTUSERDNE: Default user does not exist: HealthCheck/ = 10784468014522530524</dt>
<dd></dd>
<dt> [1.0-ml]</dt>
<dd></dd>
</dl>
</span>
Run Code Online (Sandbox Code Playgroud)
我有一个基本的查询:
/*[fn:name()="something"]
Run Code Online (Sandbox Code Playgroud)
(1)Marklogic 7需要多秒,是否有一个索引我可以添加以使此查询更快?
(2)应该增加哪些内存限制以提高性能?
(3)是否有其他方法可以通过不同的查询来提高性能但获得完全相同的结果?