MarkLogic元素单词查询在>2个术语上失败

MarkLogic元素单词查询在>2个术语上失败,marklogic,marklogic-7,Marklogic,Marklogic 7,我发现一个问题,如果搜索词中有两个以上的单词,包括所有格“,an将无法选择任何项目。这种情况发生在运行7.0-4.3的生产服务器上,而不是运行7.0-5.4的开发服务器上 比较的结果并没有显示任何明确的原因,为什么会发生这种情况 以下是xquery: for $x in ((//ch_firstSource)[1 to 10]) let $q := cts:element-word-query(xs:QName('ch_firstSource'), (string($x))) return (

我发现一个问题,如果搜索词中有两个以上的单词,包括所有格“,an将无法选择任何项目。这种情况发生在运行7.0-4.3的生产服务器上,而不是运行7.0-5.4的开发服务器上

比较的结果并没有显示任何明确的原因,为什么会发生这种情况

以下是xquery:

for $x in ((//ch_firstSource)[1 to 10])
let $q := cts:element-word-query(xs:QName('ch_firstSource'), (string($x)))
return (
    $x, 
    xdmp:estimate(cts:search(collection(),$q)), 
    cts:highlight($x, $q, element hit {$cts:text})
)
在生产中产生以下结果:

<ch_firstSource>Authentic Copy New Constit. France</ch_firstSource>
0
<ch_firstSource><hit>Authentic Copy New Constit. France</hit></ch_firstSource>
<ch_firstSource>Facsimiles National MSS Scotl.</ch_firstSource>
0
<ch_firstSource><hit>Facsimiles National MSS Scotl.</hit></ch_firstSource>
<ch_firstSource>Geoffrey Chaucer</ch_firstSource>
50900
<ch_firstSource><hit>Geoffrey Chaucer</hit></ch_firstSource>
<ch_firstSource>Thomas Newton</ch_firstSource>
1771
<ch_firstSource><hit>Thomas Newton</hit></ch_firstSource>
<ch_firstSource>Apocalypse St. John: A Version</ch_firstSource>
0
<ch_firstSource><hit>Apocalypse St. John: A Version</hit></ch_firstSource>
<ch_firstSource>Apocalypse St. John: A Version</ch_firstSource>
0
<ch_firstSource><hit>Apocalypse St. John: A Version</hit></ch_firstSource>
<ch_firstSource>Stephen Hawes</ch_firstSource>
2117
<ch_firstSource><hit>Stephen Hawes</hit></ch_firstSource>
<ch_firstSource>Stephen Hawes</ch_firstSource>
2117
<ch_firstSource><hit>Stephen Hawes</hit></ch_firstSource>
<ch_firstSource>Bede's Ecclesiastical History</ch_firstSource>
0
<ch_firstSource><hit>Bede's Ecclesiastical History</hit></ch_firstSource>
<ch_firstSource>Pseudo-Apuleius' Herbarium</ch_firstSource>
0
<ch_firstSource><hit>Pseudo-Apuleius' Herbarium</hit></ch_firstSource>
更大的一套包括:

<ch_firstSource>R. Whitford</ch_firstSource>
411
<ch_firstSource><hit>R. Whitford</hit></ch_firstSource>

在dev上,相同的查询生成:

<ch_firstSource>Thomas Newton</ch_firstSource>
497
<ch_firstSource>
 <hit>Thomas Newton</hit>
</ch_firstSource>
<ch_firstSource>Stephen Marshall</ch_firstSource>
88
<ch_firstSource>
 <hit>Stephen Marshall</hit>
</ch_firstSource>
<ch_firstSource>Secreta Secretorum</ch_firstSource>
425
<ch_firstSource>
 <hit>Secreta Secretorum</hit>
</ch_firstSource>
<ch_firstSource>New Scientist</ch_firstSource>
421
<ch_firstSource>
 <hit>New Scientist</hit>
</ch_firstSource>
<ch_firstSource>Quarterly Review</ch_firstSource>
1226
<ch_firstSource>
 <hit>Quarterly Review</hit>
</ch_firstSource>
<ch_firstSource>Thomas Davis</ch_firstSource>
50
<ch_firstSource>
 <hit>Thomas Davis</hit>
</ch_firstSource>
<ch_firstSource>Arthur Young</ch_firstSource>
473
<ch_firstSource>
 <hit>Arthur Young</hit>
</ch_firstSource>
<ch_firstSource>William Durrant Cooper</ch_firstSource>
14
<ch_firstSource>
 <hit>William Durrant Cooper</hit>
</ch_firstSource>
<ch_firstSource>Westminster Gazette</ch_firstSource>
2629
<ch_firstSource>
 <hit>Westminster Gazette</hit>
</ch_firstSource>
<ch_firstSource>Deb. Congress 1808</ch_firstSource>
1
<ch_firstSource>
 <hit>Deb. Congress 1808</hit>
</ch_firstSource>

有人知道为什么会发生这种情况吗?

要查看7.0-4.3版和7.0-5.4版之间发布的错误修复,请转到并在“发件人”和“收件人”字段中输入这些版本,然后单击“显示”。我没有看到任何与您的情况相匹配的,但值得一看

我有一个理论,直到更大的集合数据——在你最初的例子中,所有大于两个单词的例子都有标点符号。你更大的集合结果似乎是一个相反的例子。以防万一,你能运行吗

for $x in ((//ch_firstSource)[1 to 10])
let $q := cts:element-word-query(xs:QName('ch_firstSource'), (string($x)))
return (
    $x, 
    xdmp:estimate(cts:search(collection(), $q, "punctuation-insensitive")), 
    cts:highlight($x, $q, element hit {$cts:text})
)

在不知道确切的数据库配置的情况下找出原因有点棘手。再说一次,所以可能不是进行深入调查的最佳渠道。不过,在7.0-4.3和7.0-5.4之间的word查询领域中有一些错误修复,所以可能只是修复了一个错误。知道这一点很有用。谢谢。正确,添加了punt评估对查询不敏感:不是搜索:无法修复问题。我将查看这些错误。
for $x in ((//ch_firstSource)[1 to 10])
let $q := cts:element-word-query(xs:QName('ch_firstSource'), (string($x)))
return (
    $x, 
    xdmp:estimate(cts:search(collection(), $q, "punctuation-insensitive")), 
    cts:highlight($x, $q, element hit {$cts:text})
)