无法使用MarkLogic结构化查询排除基本搜索结果上的某些条件

无法使用MarkLogic结构化查询排除基本搜索结果上的某些条件,marklogic,marklogic-9,Marklogic,Marklogic 9,无法使用MarkLogic结构化查询排除基本搜索结果上的sectionName=“PI”条件。 在DB中考虑这两个文件。 test1.json test2.json 下面是我尝试的示例代码: "not-query":{ "value-query":{ "json-property":"sectionName", "text":["PI"], "term-option":["exact"] } } 结果集仍然显示包含sectionName=

无法使用MarkLogic结构化查询排除基本搜索结果上的
sectionName=“PI”
条件。 在DB中考虑这两个文件。

test1.json

test2.json

下面是我尝试的示例代码:

"not-query":{  
   "value-query":{  
      "json-property":"sectionName",
      "text":["PI"],
      "term-option":["exact"]
   }
}
结果集仍然显示包含sectionName=“PI”的文档,即test1.json未被排除

请在这方面提出建议

正在添加搜索文档测试xml


未过滤
1.
区分大小写
标点不敏感
变音不敏感
"
(
或
近的
接近/
:
书信电报
乐
燃气轮机
通用电气
氖
/URI

您没有提到正在使用哪个API执行搜索,但问题可能是您的搜索未经筛选。未经筛选速度更快,但可能会产生误报

您可以了解有关过滤与未过滤搜索和搜索的更多信息

如果您使用的是搜索API(Search:Search)或REST客户端API,则可以通过查询选项控制是否过滤搜索


如果您使用的是JSearch API,那么在各种查询对象上都有一个筛选方法。例如,.

谢谢,我使用了搜索API。其余的API url使用的是abc.net:8081/v1/search?format=json&pageLength=10&start=1&options=search\Document\test&structuredQuery={“搜索”:{“查询”:[{“非查询”:{“值查询”:{json”属性“:”sectionName“,”text“:[”PI“]}}],”选项“:{”搜索选项“:[”未筛选“,”格式json“,”返回结果“:”true}}”。是否有任何持久的方法来实现所需的结果???我们可以在xml文件中做一些更改吗?我还更新了问题中的搜索文档测试xml。如果您不希望出现误报,则需要使用“筛选”,而不是“未筛选”。如果“实现所需结果的持久方法",您是指您的搜索选项,然后是。REST客户端API允许您将它们存储在数据库中,并在搜索请求中按名称引用它们。请参阅以下有关配置查询选项的主题:。我也尝试了使用筛选选项。使用的查询是-abc.net/v1/search?format=json&pageLength=1&start=1&options=search\u option\u test&structuredQuery={“搜索”:{“查询”:{“非查询”:{“word query”:{“json属性”:“sectionName”,“text”:[“PI”],“term option”:[“不区分大小写”]}],“options”:{“搜索选项”:[“筛选”,“格式json”],“质量权重”:0,“返回方面”:true,“返回结果”:true}}}&q=PI。它在结果集中返回PI。
{
   "id" : "101",
   "sectionName" : "GD",
    "name" : "Prof",
   "emailId" : "aaa@gmail.com" 
}
"not-query":{  
   "value-query":{  
      "json-property":"sectionName",
      "text":["PI"],
      "term-option":["exact"]
   }
}