我启动了运行linux的EC2实例,并安装了MarkLogic Server rpm.但是当我尝试启动MarkLogic服务时,我看到这样的消息:
Waiting for block device on /dev/sdf
Waiting for block device on /dev/sdf
Waiting for block device on /dev/sdf
Run Code Online (Sandbox Code Playgroud)
没有/dev/sdf.我怎样才能解决这个问题?
在我的函数update-replace中,我试图通过调用xdmp:node-replace如下所示动态替换MarkLogic中我的一个XML数据源文件中的XML节点:
declare function update-lib:update-rec($doc as xs:string, $path as xs:string, $country as xs:string, $name as xs:string, $population as xs:integer, $latitude as xs:decimal, $longitude as xs:decimal) as document-node() {
(: read lock acquired :)
fn:doc($doc),
xdmp:node-replace(fn:doc($doc)/$path,
<city>
<country>{$country}</country>
<name>{$name}</name>
<population>{$population}</population>
<latitude>{$latitude}</latitude>
<longitude>{$longitude}</longitude>
</city>
),
(: after the following statement, txn ends and locks released :)
xdmp:commit()
};
Run Code Online (Sandbox Code Playgroud)
该函数采用7个参数,第一个arg是XML源文件的路径,第二个是XML文件中要更新的节点的路径,其余的对应于子元素值.
当我调用xdmp:node-replace更新数据时,遇到以下错误:
500内部服务器错误
XDMP-ARGTYPE:(错误:XPTY0004)xdmp:node-replace("/ cities/city [3961]",JPMiyoshi56958) - arg1不是node()类型...
所以我决定对arg1进行评估,以确保node()作为node-replace的第一个arg传递:
xdmp:node-replace(xdmp:eval(fn:doc($doc)/$path),
<city>
<country>{$country}</country>
<name>{$name}</name>
<population>{$population}</population>
<latitude>{$latitude}</latitude>
<longitude>{$longitude}</longitude>
</city>
),
Run Code Online (Sandbox Code Playgroud)
现在我收到以下错误: …
我正在尝试使用REST API搜索某些内容并突出显示MarkLogic中XML内容(如google)中的搜索字符串.问题是当我在搜索字符串中包含"ME"时,它会在内容中突出显示"i"标记(html斜体标记)和"Me".我创建了一个包含一些元素的文档,并在文档上运行了单词查询.例如XML内容:
<resources>
<title> some data from me</title>
<desc> more data <i> from </i> somewhere by me </desc>
</resources>
Run Code Online (Sandbox Code Playgroud)
我创建了一个文档,其中包含根节点"resources"和子元素"title"和"desc",并使用word-query搜索文档中的搜索字符串.
现在,当我搜索"some me"时,它会检索内容
<resources>
<title> <<span class="highlight">some</span> data from <<span class="highlight">me</span>
</title>
<desc> more data <<span class="highlight">i</span>> from <<span class="highlight">i</span>> somewhere by <span class="highlight">me</span> </desc>
</resources>
Run Code Online (Sandbox Code Playgroud)
网址:
localhost:9000/v1/search?q=some me&collection=Data&start=0&pageLength=10&options=Transformation&format=json
Run Code Online (Sandbox Code Playgroud)
我正在使用cts:突出显示突出显示,有些事情如下:
cts:highlight($final-result, $query, fn:concat('<span class="highlight">',$cts:text,'</span>')), $custom-config)
Run Code Online (Sandbox Code Playgroud)
关于为什么html元素在这里被突出显示的任何想法?提前致谢.
我正在使用Marklogic 8并使用Java API来检索和存储文档.
我的所有文档存储(JSON文件)的文件大小最大为2Kb.
我有两个问题:在我查询的大多数JSON节点上设置了索引.
默认情况下,搜索将包括一系列时间戳(以长为单位),即包含往返时间戳的搜索.加上最终用户请求的任何其他节点.
该代码使用QBE方法来查询数据库.
问题1:是否有更好的方法,如字符串查询定义搜索,键值搜索,结构化查询定义或组合查询搜索,其性能优于查询示例
问题2:它运行的机器会对性能产生影响吗?
我现在在我的本地Windows机器上工作,但最终Marklogic将在生产的UNIX机器上托管.
我不确定Unix机器的规格.
我在Oracle中描述table_name以显示字段列表.我如何在Marklogic中执行此操作以获取文档中的元素列表.提前致谢.
Oracle:DESCRIBE EMP_DETAILS
名称
EMPLOYEE_ID
JOB_ID
MANAGER_ID
DEPARTMENT_ID
我将举一个例子来复制这个问题.
假设我XML在Documents DB中插入了以下文件MarkLogic.
<root>
<name>(publishe name)</name>
</root>
Run Code Online (Sandbox Code Playgroud)
我正在运行以下cts查询.
cts:search(
doc(),
cts:element-value-query(xs:QName('name'), 'publishe name',('case-insensitive', 'punctuation-sensitive', 'diacritic-sensitive')),
'unfiltered'
)
Run Code Online (Sandbox Code Playgroud)
上面的查询返回上面的XML,即使我传递的punctuation-sensitive选项.
请帮我弄清楚为什么它会返回上面的XML?
上面有什么不对cts search query吗?
注意:对于filtered选项,它工作正常,因为我没有得到空序列.
我正在使用MarkLogic 8
是否可以使用
带有Node.js的MarkLogic 搜索二进制文件内容,如PDF ?如何使用带有Node.js的MarkLogic检索存储在数据库中的PDF文档?
在我的项目中,我们有一个需要维护文档历史记录或版本的需求。就像我们使用相同的URI插入文档一样,它将旧文档替换为新文档。但是我们想保留旧版本号。
我们如何在Marklogic中实现这一目标?
我有一个XML位于某个目录中,我想在目标位置处理和写入一个新文件,但它显示your query returned an empty sequence?
XML:
<xpath>
<toMultipleElement>TEXT 1.0</toMultipleElement>
<toMultipleElement>TEXT 2.0</toMultipleElement>
<toMultipleElement>TEXT 3.0</toMultipleElement>
<toMultipleElement>TEXT 4.0</toMultipleElement>
<toMultipleElement>TEXT 5.0</toMultipleElement>
<toMultipleElement>TEXT 6.0</toMultipleElement>
<toMultipleElement>TEXT 7.0</toMultipleElement>
</xpath>
Run Code Online (Sandbox Code Playgroud)
XQuery的:
xquery version "1.0-ml";
let $input := xdmp:document-get("C:/Users/AmrendraG/Downloads/aaapp.xml")
return
xdmp:document-insert("C:/Users/AmrendraG/Downloads/aaapp-out.xml", <root>{$input}</root>)
Run Code Online (Sandbox Code Playgroud)
我想将此文件作为aaapp-out.xml写为同一位置.
这两种连接琴弦的速度之间有区别吗?
fn:concat("Test1 ", "Test2")
"Test1 " || "Test2"
Run Code Online (Sandbox Code Playgroud) marklogic ×10
xquery ×3
marklogic-8 ×2
api ×1
highlight ×1
marklogic-9 ×1
rest ×1
search ×1
version ×1
xml ×1