xdmp:document-Marklogic 8 中的过滤器问题
xdmp:document-filter issue in Marklogic 8
我试图使用 xdmp:document-filter 从 "pptx" 文件中提取元数据..下面是我 运行 在查询控制台中的代码..
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
let $uri := "/documents/b46682e6b00156d98cb9ba26222c57ab8cbd60f1.pptx"
let $xxx := xdmp:document-filter(fn:doc($uri), ())
return $xxx
似乎没有任何效果,并且在一段时间后显示一条消息 "query console lost connection, and trying to re-establish the connection"..所以我查看了服务器日志文件并看到了分段错误..以下是一些日志文件..我在做什么我尝试提取元数据的方式有什么问题。
Segmentation fault in thread 140239321458432 addr 0x10
Thread 224 (Thread 0x7f8ccca01700 (LWP 6307)):
#0 0x00007f8cc8b7d9c0 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000004081327 in svc::Semaphore::wait(bool) const ()
#2 0x000000000409c22d in svc::StarterThread::run() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
Thread 223 (Thread 0x7f8ccc9e2700 (LWP 6315)):
#0 0x00007f8cc8b7e9ad in accept () from /lib64/libpthread.so.0
#1 0x000000000408bd75 in svc::Socket::accept(sockaddr_in&) ()
#2 0x0000000003d546cf in xdmp::XDQPServerThread::run() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
Thread 222 (Thread 0x7f8ccc9c3700 (LWP 6316)):
#0 0x00007f8cc8b7ee6d in nanosleep () from /lib64/libpthread.so.0
#1 0x000000000409bf1b in svc::Thread::sleep(unsigned int) ()
#2 0x000000000242b1c5 in xdmp::ClusterManager::clusterThread() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
我也能够在 ML 8.0-4.2 中重现此问题。
当我将查询更改为
xdmp:document-过滤器(fn:doc($uri))
我试图使用 xdmp:document-filter 从 "pptx" 文件中提取元数据..下面是我 运行 在查询控制台中的代码..
xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
let $uri := "/documents/b46682e6b00156d98cb9ba26222c57ab8cbd60f1.pptx"
let $xxx := xdmp:document-filter(fn:doc($uri), ())
return $xxx
似乎没有任何效果,并且在一段时间后显示一条消息 "query console lost connection, and trying to re-establish the connection"..所以我查看了服务器日志文件并看到了分段错误..以下是一些日志文件..我在做什么我尝试提取元数据的方式有什么问题。
Segmentation fault in thread 140239321458432 addr 0x10
Thread 224 (Thread 0x7f8ccca01700 (LWP 6307)):
#0 0x00007f8cc8b7d9c0 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000004081327 in svc::Semaphore::wait(bool) const ()
#2 0x000000000409c22d in svc::StarterThread::run() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
Thread 223 (Thread 0x7f8ccc9e2700 (LWP 6315)):
#0 0x00007f8cc8b7e9ad in accept () from /lib64/libpthread.so.0
#1 0x000000000408bd75 in svc::Socket::accept(sockaddr_in&) ()
#2 0x0000000003d546cf in xdmp::XDQPServerThread::run() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
Thread 222 (Thread 0x7f8ccc9c3700 (LWP 6316)):
#0 0x00007f8cc8b7ee6d in nanosleep () from /lib64/libpthread.so.0
#1 0x000000000409bf1b in svc::Thread::sleep(unsigned int) ()
#2 0x000000000242b1c5 in xdmp::ClusterManager::clusterThread() ()
#3 0x000000000409cf8b in svc::Thread::top() ()
#4 0x000000000409e189 in runThread ()
#5 0x00007f8cc8b77f18 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f8cc7f78b2d in clone () from /lib64/libc.so.6
我也能够在 ML 8.0-4.2 中重现此问题。
当我将查询更改为 xdmp:document-过滤器(fn:doc($uri))