传递任何特殊字符(@、=、#、$、%、^、*)时,字段值查询会给出意外结果。
请找到我插入 ML 的 4 个示例文档。
<root>
<journalTitle>Dinesh</journalTitle>
<sourceType>JA</sourceType>
<title>title1</title>
<volume>volume0</volume>
</root>
<root>
<journalTitle>Gayari</journalTitle>
<sourceType>JA</sourceType>
<title>title1</title>
<volume>volume0</volume>
</root>
<root>
<journalTitle>Dixit</journalTitle>
<sourceType>JA</sourceType>
<title>title1</title>
<volume>volume0</volume>
</root>
<root>
<journalTitle>Singla</journalTitle>
<sourceType>JA</sourceType>
<title>title1</title>
<volume>volume0</volume>
</root>
CTS 查询:
cts:search(
fn:doc(),
cts:field-value-query("Sample","#@#@#@*()", ("unwildcarded")),
"unfiltered"
)
在运行这个查询时,我得到了所有的文件。
据我了解,它应该返回一个空序列。
请在我创建的字段下方找到。
字段(XML 格式):
<field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://marklogic.com/xdmp/database">
<field-name>Sample</field-name>
<field-path>
<path>/root/journalTitle</path>
<weight>1.0</weight>
</field-path>
<word-lexicons/>
<included-elements/>
<excluded-elements/>
<tokenizer-overrides/>
</field>
索引设置:
如果我在搜索字符串中添加任何字母,它会给我正确的结果。
喜欢:
- @#$%F
- =====S
- df===$d
请帮我解决这个问题?