Dixit Singla
Dixit Singla

Reputation: 2620

cts search returning false results for 'unfiltered' when 'punctuation-sensitive' is passed in element-value-query

I will give an example to replicate the issue.

Assume I have inserted the below XML file in Documents DB of MarkLogic.

<root>
  <name>(publishe name)</name>
</root>

I am running the below cts query.

cts:search(
  doc(),
  cts:element-value-query(xs:QName('name'), 'publishe name',('case-insensitive', 'punctuation-sensitive', 'diacritic-sensitive')),
  'unfiltered'
)

Above query is returning me the above XML even I am passing the punctuation-sensitive option.

Please help me to figure out why it's returning the above XML?

Is there in anything wrong in the above cts search query?

Note: for filtered option it's working fine as I am not getting the empty sequence.

I am using MarkLogic 8

Upvotes: 0

Views: 74

Answers (1)

mholstege
mholstege

Reputation: 4912

MarkLogic can only resolve punctuation-sensitive value queries accurately from the indexes alone if they are exact: case-, whitespace-, diacritic-, and punctuation-sensitive. Since your query is case-insensitive it cannot be resolved from the indexes.

xdmp:plan can be used to see what query is being sent to the indexes.

Upvotes: 5

Related Questions