首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ML搜索语法

ML搜索语法
EN

Stack Overflow用户
提问于 2016-10-21 22:30:50
回答 1查看 59关注 0票数 0

我想知道我想要什么是可能的使用搜索语法..例如:让我们假设3个文档

代码语言:javascript
复制
 doc 1:
    <seq>
       <chain><name>PL-1</name></chain>
    </seq>
doc 2:
    <seq>
         <chain><name>PL-1</name></chain>
         <chain><name>PL-2</name></chain>
     </seq>
doc 3:
    <seq>
         <chain><name>PL-1</name></chain>
         <chain><name>PL-2</name></chain>
         <chain><name>PL-3</name></chain>
     </seq>

我想搜索包含链名称"PL-1“的文档。没别的..。因此,对于这个搜索条件,我只需要获得文档1,如果我想搜索PL-1和PL-2,我应该只得到doc2

有没有可能使用搜索语法?

EN

回答 1

Stack Overflow用户

发布于 2016-10-22 02:20:54

默认的搜索语法使用减号(-)作为转换为否定查询的起始令牌,因此您可以使用它:

代码语言:javascript
复制
xquery version "1.0-ml";

import module namespace search = "http://marklogic.com/appservices/search"
at "/MarkLogic/appservices/search/search.xqy";

search:parse("PL-1 -PL-2 -PL-3")

这将返回第一个示例的查询,匹配文档1:

代码语言:javascript
复制
<cts:and-query xmlns:cts="http://marklogic.com/cts">
  <cts:word-query>
    <cts:text xml:lang="en">PL-1</cts:text>
  </cts:word-query>
  <cts:not-query>
    <cts:word-query>
      <cts:text xml:lang="en">PL-2</cts:text>
    </cts:word-query>
  </cts:not-query>
  <cts:not-query>
    <cts:word-query>
      <cts:text xml:lang="en">PL-3</cts:text>
    </cts:word-query>
  </cts:not-query>
</cts:and-query>

使用相同的方法,您可以为查询创建一个仅与文档2匹配的字符串:

代码语言:javascript
复制
PL-1 PL-2 -PL-3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40179288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档