Marklogic 搜索文法 NEAR 逻辑
Marklogic search Grammar NEAR Logic
我正在使用 ML 搜索语法 abc NEAR xyz
。问题是 NEAR
向两个方向看。是否可以告诉 ML 只向一个方向看。
很遗憾,没有。搜索 API 语法 NEAR/
被解析为 cts:near-query
,它没有方向选项:https://docs.marklogic.com/cts:near-query.
更新: 这在任何地方都没有记录,但可能值得一试。搜索 API 实现似乎支持使用 space 分隔选项属性从语法定义中解析选项。尽管 default options 中提供了 none,但您可以通过在搜索选项中定义自己的语法来覆盖它。
类似这样的方法可能有效:
<search:grammar>
<search:joiner strength="30" apply="infix" options="ordered"
element="cts:near-query" tokenize="word">NEAR</search:joiner>
</search:grammar>
cts:parse
文法可以取有序选项,
cts:parse("abc NEAR/2[ordered] xyz")
我正在使用 ML 搜索语法 abc NEAR xyz
。问题是 NEAR
向两个方向看。是否可以告诉 ML 只向一个方向看。
很遗憾,没有。搜索 API 语法 NEAR/
被解析为 cts:near-query
,它没有方向选项:https://docs.marklogic.com/cts:near-query.
更新: 这在任何地方都没有记录,但可能值得一试。搜索 API 实现似乎支持使用 space 分隔选项属性从语法定义中解析选项。尽管 default options 中提供了 none,但您可以通过在搜索选项中定义自己的语法来覆盖它。
类似这样的方法可能有效:
<search:grammar>
<search:joiner strength="30" apply="infix" options="ordered"
element="cts:near-query" tokenize="word">NEAR</search:joiner>
</search:grammar>
cts:parse
文法可以取有序选项,
cts:parse("abc NEAR/2[ordered] xyz")