Marklogic PojoQueryBuilder返回执行精确搜索时的所有结果

Marklogic PojoQueryBuilder返回执行精确搜索时的所有结果,marklogic,Marklogic,我在MarkLogic server中有JSON文件: <?xml version="1.0" encoding="UTF-8"?> <json type="object" xmlns="http://marklogic.com/xdmp/json/basic"> <com.search.ex.Person type="object"> <name type="object"> <com.search.ex.Name ty

我在MarkLogic server中有JSON文件:

<?xml version="1.0" encoding="UTF-8"?>
 <json type="object" xmlns="http://marklogic.com/xdmp/json/basic">
  <com.search.ex.Person type="object">
   <name type="object">
    <com.search.ex.Name type="object">
     <firstName type="string">John</firstName>
     <lastName type="string">Doe</lastName>
    </com.search.ex.Name>
   </name>
   <gender type="string">MALE</gender>
   <age type="number">27</age>
   <birthplace type="string">Albany, NY</birthplace>
   <ssn type="string">123-45-6789</ssn>
  </com.search.ex.Person>
 </json>

约翰
雌鹿
男性
27
奥尔巴尼,纽约
123-45-6789
我正在尝试搜索是否有“出生地”为“不存在”的记录,但在这里不是:

PojoRepository<Person, String> repo = client
            .newPojoRepository(Person.class, String.class);
repo.search(qb.value("birthplace", "notpresent"), 1);
PojoRepository repo=客户
.newPojoRepository(Person.class、String.class);
回购搜索(qb.价值(“出生地”,“不存在”),1);
在这里,它返回当前的一条记录,尽管出生地不匹配

java类年龄定义为私有字符串出生地


这里出了什么问题…

@Goel,看起来您正在使用MarkLogic Server 7.0(ML7)。我能说出来,因为您看到的
仅在ML7中,因为MarkLogic 8.0(ML8)存储本机JSON。PojoQueryBuilder和所有java客户端api版本3.x仅与ML8兼容。您可以使用ML8重试吗?

@Goel,看起来您正在使用MarkLogic Server 7.0(ML7)。我能说出来,因为您看到的
仅在ML7中,因为MarkLogic 8.0(ML8)存储本机JSON。PojoQueryBuilder和所有java客户端api版本3.x仅与ML8兼容。您可以使用ML8重试吗?

@Goel,看起来您正在使用MarkLogic Server 7.0(ML7)。我能说出来,因为您看到的
仅在ML7中,因为MarkLogic 8.0(ML8)存储本机JSON。PojoQueryBuilder和所有java客户端api版本3.x仅与ML8兼容。您可以使用ML8重试吗?

@Goel,看起来您正在使用MarkLogic Server 7.0(ML7)。我能说出来,因为您看到的
仅在ML7中,因为MarkLogic 8.0(ML8)存储本机JSON。PojoQueryBuilder和所有java客户端api版本3.x仅与ML8兼容。您可以使用ML8重试吗?

MarkLogic的完整版本号是什么?MarkLogic的完整版本号是什么?MarkLogic的完整版本号是什么?MarkLogic的完整版本号是什么?我使用的是ML7,升级到8,并且可以正常工作。。THANKSi使用的是ML7,升级到8,并且可以正常工作。。THANKSi使用的是ML7,升级到8,并且可以正常工作。。THANKSi使用的是ML7,升级到8,并且可以正常工作。。谢谢