xquery搜索:建议搜索词以双引号开头的位置

xquery搜索:建议搜索词以双引号开头的位置,xquery,marklogic,double-quotes,cts-search,Xquery,Marklogic,Double Quotes,Cts Search,我想在marklogic中搜索以双引号开头的术语。我正在使用搜索建议 我正在搜索的术语为“独立”。成功执行时,查询应建议多个选项,其中一个选项为“独立方”。但它没有回复任何建议。我可以看出,搜索建议并没有找到以双引号开头的术语。请建议我如何修理它 代码在下面共享 let $options:=<options xmlns="http://marklogic.com/appservices/search"> <additional-query> <cts:and-qu

我想在marklogic中搜索以双引号开头的术语。我正在使用搜索建议

我正在搜索的术语为“独立”。成功执行时,查询应建议多个选项,其中一个选项为“独立方”。但它没有回复任何建议。我可以看出,搜索建议并没有找到以双引号开头的术语。请建议我如何修理它

代码在下面共享

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)
let$选项:=
菌落
其他收藏
不区分大小写
标点敏感
让$searchTerm:='独立'
设$searchTerm:=concat(“*”,$searchTerm)
让$searchTerm:=concat(“myTargetItem”,':',$searchTerm)
返回搜索:建议($searchTerm,$options,20)
实际结果 空的

期望 myTargetItem:“独立”

尝试一下:

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)
let$选项:=
菌落
其他收藏
不区分大小写
标点敏感
让$searchTerm:='独立'
设$searchTerm:=concat(“*”,$searchTerm)
让$searchTerm:=concat(“myTargetItem”,':',$searchTerm)
返回搜索:建议($searchTerm,$options,20)

您确定您的附加查询正确吗?您可能希望尝试完全删除该元素,然后对其进行测试。是@RobS。附加查询正确。它将搜索范围缩小到我的集合。问题是如何搜索以双引号开头的术语?感谢分享。我必须更改选项才能执行它没有错误。我必须删除并添加原来的term元素。因此,t执行并给出结果。它返回其他三个可能的选项,以单词“Independent”开头,但结果不包括以双引号开头的选项。请指导。我想我需要操纵搜索语法。如果您看到,“”“独立”,此双引号不会被视为双引号。取而代之的是,搜索忽略了它,或者认为它是短语搜索。对此有何评论?在浏览marklogic文档时,我了解到“您不能指定包含引号字符的搜索”。参考URL为。因此,我想这就是我的问题的最终答案:|@nimTas不确定,但你可以添加true,然后在返回时查看引擎盖下运行的内容。我对此非常感兴趣,如果我有时间,我会尝试复制它。@nimTas该链接还说“例如,在默认语法中,您不能搜索双引号(“),因为这是引号字符。”我强调了“默认”一词。因此,您可以尝试在搜索选项中添加#。