PojoQueryBuilder 在进行精确搜索时返回所有结果

PojoQueryBuilder returning all results on doing exact search

我在 MarkLogic 服务器中有 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>

我正在尝试搜索记录是否存在 'birthplace' 作为 'notpresent',这里不是:

PojoRepository<Person, String> repo = client
            .newPojoRepository(Person.class, String.class);
repo.search(qb.value("birthplace", "notpresent"), 1);

这里returns虽然出生地不匹配,但存在的一个记录。

在Person.java class中年龄定义为private String birthplace;..

这里出了什么问题...

@Goel,看来您使用的是 MarkLogic Server 7.0 (ML7)。我知道是因为您看到的 <json type="object" xmlns="http://marklogic.com/xdmp/json/basic"> 仅在 ML7 中,因为 MarkLogic 8.0 (ML8) 存储本机 JSON。 PojoQueryBuilder 和所有 java-client-api 版本 3.x 仅与 ML8 兼容。您可以使用 ML8 再试一次吗?