Indexing cts:search在启用通配符时返回未筛选搜索选项的意外结果

Indexing cts:search在启用通配符时返回未筛选搜索选项的意外结果,indexing,marklogic,marklogic-7,Indexing,Marklogic,Marklogic 7,我正在使用“未筛选”选项执行cts:search,并且启用了通配符搜索(表示传递“通配符”) 在我的数据库中,我插入了5个xml文档,我将它们粘贴在下面 在下面的cts中:查询journalTitle元素的值是否包含通配符(*)它将返回所有5个文档 例如:“d*”、“di*”、“dixi*” 即使我将“mohi*t”作为journalTitle元素的值传递,我也会得到结果中的所有五个文档 对于“过滤”选项,它工作正常 我很好奇为什么会有这种行为?另外,请让我知道如何为未过滤的选项更正此错误 关于

我正在使用“未筛选”选项执行cts:search,并且启用了通配符搜索(表示传递“通配符”)

在我的数据库中,我插入了5个xml文档,我将它们粘贴在下面

在下面的cts中:查询journalTitle元素的值是否包含通配符(*)它将返回所有5个文档

例如:“d*”、“di*”、“dixi*”

即使我将“mohi*t”作为journalTitle元素的值传递,我也会得到结果中的所有五个文档

对于“过滤”选项,它工作正常

我很好奇为什么会有这种行为?另外,请让我知道如何为未过滤的选项更正此错误

关于这一点,我在谷歌上搜索了很多,但没有找到解决方案

请在下面查找cts:搜索查询和xml文件

cts:query

cts:search(fn:collection(), cts:element-query(
        xs:QName("root"), 
        cts:and-query(
          (
            cts:element-value-query(xs:QName("sourceType"), "JA", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), 
            cts:element-value-query(xs:QName("journalTitle"), "mohi*t", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), 
            cts:element-value-query(xs:QName("title"), "title1", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), 
            cts:element-value-query(xs:QName("volume"), "volume0", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1)
          ), 
          ()
        ), 
        ()
       ),"unfiltered")
XML内容-粘贴所有五个XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Dinesh</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Dixit</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Prashant</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>GAYARI</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>KEVAL</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
<qry:query-plan xmlns:qry="http://marklogic.com/cts/query">
    <qry:info-trace>xdmp:eval("xdmp:plan(cts:search(fn:collection(), cts:element-query(&amp;#10;   ...", (), &lt;options xmlns="xdmp:eval"&gt;&lt;database&gt;12874763000056740838&lt;/database&gt;&lt;root&gt;C:\RSuite\modules...&lt;/options&gt;)</qry:info-trace>
    <qry:info-trace>Analyzing path for search: fn:collection()</qry:info-trace>
    <qry:info-trace>Step 1 is searchable: fn:collection()</qry:info-trace>
    <qry:info-trace>Path is fully searchable.</qry:info-trace>
    <qry:info-trace>Gathering constraints.</qry:info-trace>
    <qry:info-trace>Search query contributed 1 constraint: cts:element-query(fn:QName("", "root"), cts:and-query((cts:element-value-query(fn:QName("", "sourceType"), "JA", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "journalTitle"), "mohi*t", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "title"), "title1", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "volume"), "volume0", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1)), ()), ())</qry:info-trace>
    <qry:partial-plan>
        <qry:or-two-queries>
            <qry:element-query>
                <qry:key>10866465315185201428</qry:key>
                <qry:annotation>element(root)</qry:annotation>
                <qry:and-query>
                    <qry:term-query weight="1">
                        <qry:key>15329831187071590131</qry:key>
                        <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="0">
                        <qry:key>3029765743981997321</qry:key>
                        <qry:annotation>element(journalTitle)</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>4206353216190327061</qry:key>
                        <qry:annotation>element(title,value("title1"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>7729558342335907080</qry:key>
                        <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                    </qry:term-query>
                </qry:and-query>
            </qry:element-query>
            <qry:and-two-queries>
                <qry:term-query weight="0">
                    <qry:key>837267169796541076</qry:key>
                    <qry:annotation>link-child(descendant(element(root)))</qry:annotation>
                </qry:term-query>
                <qry:and-query>
                    <qry:term-query weight="1">
                        <qry:key>15329831187071590131</qry:key>
                        <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="0">
                        <qry:key>3029765743981997321</qry:key>
                        <qry:annotation>element(journalTitle)</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>4206353216190327061</qry:key>
                        <qry:annotation>element(title,value("title1"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>7729558342335907080</qry:key>
                        <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                    </qry:term-query>
                </qry:and-query>
            </qry:and-two-queries>
        </qry:or-two-queries>
    </qry:partial-plan>
    <qry:info-trace>Executing search.</qry:info-trace>
    <qry:final-plan>
        <qry:and-query>
            <qry:or-two-queries>
                <qry:element-query>
                    <qry:key>10866465315185201428</qry:key>
                    <qry:annotation>element(root)</qry:annotation>
                    <qry:and-query>
                        <qry:term-query weight="1">
                            <qry:key>15329831187071590131</qry:key>
                            <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="0">
                            <qry:key>3029765743981997321</qry:key>
                            <qry:annotation>element(journalTitle)</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>4206353216190327061</qry:key>
                            <qry:annotation>element(title,value("title1"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>7729558342335907080</qry:key>
                            <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                        </qry:term-query>
                    </qry:and-query>
                </qry:element-query>
                <qry:and-two-queries>
                    <qry:term-query weight="0">
                        <qry:key>837267169796541076</qry:key>
                        <qry:annotation>link-child(descendant(element(root)))</qry:annotation>
                    </qry:term-query>
                    <qry:and-query>
                        <qry:term-query weight="1">
                            <qry:key>15329831187071590131</qry:key>
                            <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="0">
                            <qry:key>3029765743981997321</qry:key>
                            <qry:annotation>element(journalTitle)</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>4206353216190327061</qry:key>
                            <qry:annotation>element(title,value("title1"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>7729558342335907080</qry:key>
                            <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                        </qry:term-query>
                    </qry:and-query>
                </qry:and-two-queries>
            </qry:or-two-queries>
        </qry:and-query>
    </qry:final-plan>
    <qry:info-trace>Selected 5 fragments</qry:info-trace>
    <qry:result estimate="5"/>
</qry:query-plan>

迪内希
青年成就组织
标题1
第0卷
-
迪克西特
青年成就组织
标题1
第0卷
-
普拉尚特
青年成就组织
标题1
第0卷
-
盖亚里
青年成就组织
标题1
第0卷
-
基瓦尔
青年成就组织
标题1
第0卷
您可能需要xdmp:plan结果,因此我将其粘贴在下面

xdmp:计划结果:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Dinesh</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Dixit</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>Prashant</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>GAYARI</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
-
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <journalTitle>KEVAL</journalTitle>
    <sourceType>JA</sourceType>
    <title>title1</title>
    <volume>volume0</volume>
</root>
<qry:query-plan xmlns:qry="http://marklogic.com/cts/query">
    <qry:info-trace>xdmp:eval("xdmp:plan(cts:search(fn:collection(), cts:element-query(&amp;#10;   ...", (), &lt;options xmlns="xdmp:eval"&gt;&lt;database&gt;12874763000056740838&lt;/database&gt;&lt;root&gt;C:\RSuite\modules...&lt;/options&gt;)</qry:info-trace>
    <qry:info-trace>Analyzing path for search: fn:collection()</qry:info-trace>
    <qry:info-trace>Step 1 is searchable: fn:collection()</qry:info-trace>
    <qry:info-trace>Path is fully searchable.</qry:info-trace>
    <qry:info-trace>Gathering constraints.</qry:info-trace>
    <qry:info-trace>Search query contributed 1 constraint: cts:element-query(fn:QName("", "root"), cts:and-query((cts:element-value-query(fn:QName("", "sourceType"), "JA", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "journalTitle"), "mohi*t", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "title"), "title1", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1), cts:element-value-query(fn:QName("", "volume"), "volume0", ("case-insensitive","diacritic-sensitive","punctuation-sensitive","whitespace-sensitive","wildcarded","lang=en"), 1)), ()), ())</qry:info-trace>
    <qry:partial-plan>
        <qry:or-two-queries>
            <qry:element-query>
                <qry:key>10866465315185201428</qry:key>
                <qry:annotation>element(root)</qry:annotation>
                <qry:and-query>
                    <qry:term-query weight="1">
                        <qry:key>15329831187071590131</qry:key>
                        <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="0">
                        <qry:key>3029765743981997321</qry:key>
                        <qry:annotation>element(journalTitle)</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>4206353216190327061</qry:key>
                        <qry:annotation>element(title,value("title1"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>7729558342335907080</qry:key>
                        <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                    </qry:term-query>
                </qry:and-query>
            </qry:element-query>
            <qry:and-two-queries>
                <qry:term-query weight="0">
                    <qry:key>837267169796541076</qry:key>
                    <qry:annotation>link-child(descendant(element(root)))</qry:annotation>
                </qry:term-query>
                <qry:and-query>
                    <qry:term-query weight="1">
                        <qry:key>15329831187071590131</qry:key>
                        <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="0">
                        <qry:key>3029765743981997321</qry:key>
                        <qry:annotation>element(journalTitle)</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>4206353216190327061</qry:key>
                        <qry:annotation>element(title,value("title1"))</qry:annotation>
                    </qry:term-query>
                    <qry:term-query weight="1">
                        <qry:key>7729558342335907080</qry:key>
                        <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                    </qry:term-query>
                </qry:and-query>
            </qry:and-two-queries>
        </qry:or-two-queries>
    </qry:partial-plan>
    <qry:info-trace>Executing search.</qry:info-trace>
    <qry:final-plan>
        <qry:and-query>
            <qry:or-two-queries>
                <qry:element-query>
                    <qry:key>10866465315185201428</qry:key>
                    <qry:annotation>element(root)</qry:annotation>
                    <qry:and-query>
                        <qry:term-query weight="1">
                            <qry:key>15329831187071590131</qry:key>
                            <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="0">
                            <qry:key>3029765743981997321</qry:key>
                            <qry:annotation>element(journalTitle)</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>4206353216190327061</qry:key>
                            <qry:annotation>element(title,value("title1"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>7729558342335907080</qry:key>
                            <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                        </qry:term-query>
                    </qry:and-query>
                </qry:element-query>
                <qry:and-two-queries>
                    <qry:term-query weight="0">
                        <qry:key>837267169796541076</qry:key>
                        <qry:annotation>link-child(descendant(element(root)))</qry:annotation>
                    </qry:term-query>
                    <qry:and-query>
                        <qry:term-query weight="1">
                            <qry:key>15329831187071590131</qry:key>
                            <qry:annotation>element(sourceType,value("JA"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="0">
                            <qry:key>3029765743981997321</qry:key>
                            <qry:annotation>element(journalTitle)</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>4206353216190327061</qry:key>
                            <qry:annotation>element(title,value("title1"))</qry:annotation>
                        </qry:term-query>
                        <qry:term-query weight="1">
                            <qry:key>7729558342335907080</qry:key>
                            <qry:annotation>element(volume,value("volume0"))</qry:annotation>
                        </qry:term-query>
                    </qry:and-query>
                </qry:and-two-queries>
            </qry:or-two-queries>
        </qry:and-query>
    </qry:final-plan>
    <qry:info-trace>Selected 5 fragments</qry:info-trace>
    <qry:result estimate="5"/>
</qry:query-plan>

xdmp:eval(“xdmp:plan(cts:search(fn:collection(),cts:element query(&;#10;…),(),options xmlns=“xdmp:eval”database128747630000566740838/databaserootC:\RSuite\modules…/options)
分析搜索路径:fn:collection()
步骤1可搜索:fn:collection()
路径是完全可搜索的。
收集约束。
搜索查询贡献了1个约束:cts:element查询(fn:QName(“,“root”)、cts:and查询(cts:element-value查询(fn:QName(“,“sourceType”)、“JA”(“不区分大小写”、“区分重音”、“区分标点”、“区分空格”、“通配符”、“lang=en”)、1)、cts:element-value查询(fn:QName(“,“journalTitle”)、“mohi*t”(“不区分大小写”,“区分重音”,“区分标点”,“区分空白”,“通配符”,“lang=en”),1),cts:元素值查询(fn:QName(“,”title”),“title1”,“区分大小写”,“区分重音”,“区分标点”,“区分空白”,“通配符”,“lang=en”),1),cts:元素值查询(fn:QName(“,”volume”),”volume0,((“不区分大小写”,“区分重音”,“区分标点”,“区分空白”,“通配符”,“lang=en”),1)),(),())
10866465315185201428
元素(根)
15329831187071590131
元素(源类型,值(“JA”))
3029765743981997321
元素(日志)
4206353216190327061
要素(标题、价值(“标题1”))
7729558342335907080
元素(体积、值(“体积0”))
837267169796541076
链接子级(子级(元素(根)))
15329831187071590131
元素(源类型,值(“JA”))
3029765743981997321
元素(日志)
4206353216190327061
要素(标题、价值(“标题1”))
7729558342335907080
元素(体积、值(“体积0”))
正在执行搜索。
10866465315185201428
元素(根)
15329831187071590131
元素(源类型,值(“JA”))
3029765743981997321
元素(日志)
4206353216190327061
要素(标题、价值(“标题1”))
7729558342335907080
元素(体积、值(“体积0”))
837267169796541076
链接子级(子级(元素(根)))
15329831187071590131
元素(源类型,值(“JA”))
3029765743981997321
元素(日志)
4206353216190327061
要素(标题、价值(“标题1”))
7729558342335907080
元素(体积、值(“体积0”))
选定5个片段
如果有任何语法错误,请道歉


如果您需要更多信息,请告诉我。

通配符搜索依赖于