Reputation: 11
I want to search marklogic for term that start with double quotes. i am using search-suggest.
term that i am searching is '"Independent'. When executed successfully, query should suggest multiple options with one option that is '"Independent party'. But its not returning any suggestion. I can see that search-suggest is not finding term that start with double quote. Please suggest how can i fix it.
code is shared below.
let $options:=<options xmlns="http://marklogic.com/appservices/search">
<additional-query>
<cts:and-query xmlns:cts="http://marklogic.com/cts">
<cts:collection-query>
<cts:uri>myCollection</cts:uri>
</cts:collection-query>
<cts:or-query>
<cts:collection-query>
<cts:uri>anotherCollection</cts:uri>
</cts:collection-query>
</cts:or-query>
</cts:and-query>
</additional-query>
<term>
<term-option>case-insensitive</term-option>
<term-option>punctuation-sensitive</term-option>
<empty apply="all-results">
</empty>
</term>
<constraint name="myTargetItem">
<range collation="http://marklogic.com/collation/codepoint" type="xs:string" facet="false">
<element ns="---" name="targetItem">
</element>
</range>
</constraint>
</options>
let $searchTerm := '"Independent'
let $searchTerm := concat('"*',$searchTerm )
let $searchTerm := concat("myTargetItem", ':', $searchTerm )
return search:suggest($searchTerm , $options,20)
Actual Result EMPTY
Expected myTargetItem:""Independent"
Upvotes: 1
Views: 146
Reputation: 3609
Give this a try:
let $options:=
<options xmlns="http://marklogic.com/appservices/search">
<additional-query>
<cts:and-query xmlns:cts="http://marklogic.com/cts">
<cts:collection-query>
<cts:uri>myCollection</cts:uri>
</cts:collection-query>
<cts:or-query>
<cts:collection-query>
<cts:uri>anotherCollection</cts:uri>
</cts:collection-query>
</cts:or-query>
</cts:and-query>
</additional-query>
<default-suggestion-source>
<range collation="http://marklogic.com/collation/codepoint" type="xs:string"
facet="false">
<element ns="" name="targetItem"/>
</range>
<suggestion-option>case-insensitive</suggestion-option>
<suggestion-option>punctuation-sensitive</suggestion-option>
</default-suggestion-source>
</options>
let $searchTerm := '"Independent'
let $searchTerm := concat('"*',$searchTerm )
let $searchTerm := concat("myTargetItem", ':', $searchTerm )
return search:suggest($searchTerm , $options,20)
Upvotes: 1