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

时间:2019-06-03 09:40:17

标签: marklogic marklogic-9

使用MarkLogic结构化查询无法在基本搜索结果中排除class ThreadSafeList<E> private constructor(private val data: MutableList<E>): MutableList<E> by data { // default constructor, when no elements are passed constructor(): this(mutableListOf()) companion object { // constructor for a list to use its elements for the purpose operator fun <E> invoke(elements: List<E>): ThreadSafeList<E> { return ThreadSafeList(elements.toMutableList()) } } } fun main() { // this is how you call it val list = listOf("Hello", "World", "!") val threadSafeList = threadSafeListOf(list) } 条件。 示例-考虑数据库中的这两个文档。

test1.json

sectionName = "PI"

test2.json

{
   "id" : "101",
   "sectionName" : "PI",
    "name" : "Myself",
   "emailId" : "aaa@gmail.com" 
}

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

{
   "id" : "101",
   "sectionName" : "GD",
    "name" : "Prof",
   "emailId" : "aaa@gmail.com" 
}

Resulset仍显示包含sectionName =“ PI”的文档,即不排除test1.json。

在此建议。

添加search_Document_test xml。

"not-query":{  
   "value-query":{  
      "json-property":"sectionName",
      "text":["PI"],
      "term-option":["exact"]
   }
}

1 个答案:

答案 0 :(得分:1)

您没有提到要使用哪个API来执行搜索,但是可能的问题是您的搜索未经过过滤运行。未过滤的速度更快,但会产生误报。

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

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

如果您使用的是JSearch API,则各种查询对象上都有一个过滤器方法。例如,DocumentsSearch.filter