使用java的marklogic中的facet

使用java的marklogic中的facet,java,nosql,marklogic,facet,marklogic-9,Java,Nosql,Marklogic,Facet,Marklogic 9,如何使用JavaAPI从MarkLogic获取方面信息?我试图通过参考一些文档来了解我们的问题,但无法得到解决方案。 请帮我找到解决办法 我在json属性上创建了一个名为“integerQuery”的元素范围索引 现在尝试从代码中获取刻面值和名称 DatabaseClient client=DatabaseClientFactory.newClient("10.53.195.198",6010,"nosql",new DigestAuthContext("admin","adm

如何使用JavaAPI从MarkLogic获取方面信息?我试图通过参考一些文档来了解我们的问题,但无法得到解决方案。 请帮我找到解决办法

我在json属性上创建了一个名为“integerQuery”的元素范围索引

现在尝试从代码中获取刻面值和名称

  DatabaseClient client=DatabaseClientFactory.newClient("10.53.195.198",6010,"nosql",new 
     DigestAuthContext("admin","admin"));   

    QueryManager queryManager=client.newQueryManager();

    StructuredQueryBuilder queryBuilder=queryManager.newStructuredQueryBuilder();

 queryBuilder.jsonProperty("integerQuery");
 StructuredQueryDefinition def=queryBuilder.or();
   SearchHandle handle= queryManager.search(def,new SearchHandle());
 System.out.println(handle.getFacetResult("integerQuery"));  //Prints NULL
尝试在
QueryOptionsBuilder
中使用查询选项,但该类已在更新的MarkLogic java版本中删除

有人能提供一个关于元素范围索引中刻面值的详细描述吗

我试图从他们提供的介绍课程中学习,但它仍然使用QueryOptionsBuilder类

我的json文档在数据库中

{
  "Name": "Flipkart", 
  "integerQuery": 7
}

您需要自己为facet定义选项。然后,将从
StructuredQueryBuilder
生成的
StructuredQueryDefinition
与facet选项一起使用,并将其传递到
RawCombinedQueryDefinition
。例如:

// Build the StructuredQueryDefinition 
// from StructuredQueryBuilder
StructuredQueryDefinition builtSQ = queryBuilder.term("one");
String XML_OPTIONS = 
     "<options xmlns=\"http://marklogic.com/appservices/search\">" +
        " <constraint name=\"artist\"> " +
        " <range type = \"xs:string\" " +
               " collation = \"http://marklogic.com/collation/en/S1/AS/T00BB\"> " + 
        " <element ns = \"http://marklogic.com/MLU/top-songs\" name=\"artist\"/>" + 
        " <facet-option>descending</facet=option> " +
        " <facet-option>limit=30</facet=option> " +
     "</options>";
// Create a QueryManager
QueryManager qm = client.newQueryManager();
StructuredWriteHandle queryHandle = new StringHandle().with(
        "<search xmlns=\"http://marklogic.com/appservices/search\">" +
            builtSQ.serialize() + 
            XML_OPTIONS +
        "</search>").withFormat(Format.XML)
RawCombinedQueryDefinition query = qm.newRawCombinedQueryDefinition(queryHandle);
// Perform the search
SearchHandle results = qm.search(query, new SearchHandle());
//构建StructuredQueryDefinition
//来自StructuredQueryBuilder
StructuredQueryDefinition builtSQ=queryBuilder.term(“一”);
字符串XML_选项=
"" +
"  " +
"  " + 
" " + 
“下降”+
“限值=30”+
"";
//创建查询管理器
QueryManager qm=client.newQueryManager();
StructuredWriteHandle queryHandle=新建StringHandle()。带有(
"" +
builtSQ.serialize()+
XML\u选项+
“”)。withFormat(Format.XML)
RawCombinedQueryDefinition query=qm.newRawCombinedQueryDefinition(queryHandle);
//执行搜索
SearchHandle results=qm.search(查询,newsearchHandle());
上面的XML_选项用于基于元素“artist”上的范围索引构建方面。有关如何构建方面选项的更多信息,请浏览以下链接

有关组合查询的信息,请参见此


希望这有帮助

您需要自己为facet定义选项。然后,将从
StructuredQueryBuilder
生成的
StructuredQueryDefinition
与facet选项一起使用,并将其传递到
RawCombinedQueryDefinition
。例如:

// Build the StructuredQueryDefinition 
// from StructuredQueryBuilder
StructuredQueryDefinition builtSQ = queryBuilder.term("one");
String XML_OPTIONS = 
     "<options xmlns=\"http://marklogic.com/appservices/search\">" +
        " <constraint name=\"artist\"> " +
        " <range type = \"xs:string\" " +
               " collation = \"http://marklogic.com/collation/en/S1/AS/T00BB\"> " + 
        " <element ns = \"http://marklogic.com/MLU/top-songs\" name=\"artist\"/>" + 
        " <facet-option>descending</facet=option> " +
        " <facet-option>limit=30</facet=option> " +
     "</options>";
// Create a QueryManager
QueryManager qm = client.newQueryManager();
StructuredWriteHandle queryHandle = new StringHandle().with(
        "<search xmlns=\"http://marklogic.com/appservices/search\">" +
            builtSQ.serialize() + 
            XML_OPTIONS +
        "</search>").withFormat(Format.XML)
RawCombinedQueryDefinition query = qm.newRawCombinedQueryDefinition(queryHandle);
// Perform the search
SearchHandle results = qm.search(query, new SearchHandle());
//构建StructuredQueryDefinition
//来自StructuredQueryBuilder
StructuredQueryDefinition builtSQ=queryBuilder.term(“一”);
字符串XML_选项=
"" +
"  " +
"  " + 
" " + 
“下降”+
“限值=30”+
"";
//创建查询管理器
QueryManager qm=client.newQueryManager();
StructuredWriteHandle queryHandle=新建StringHandle()。带有(
"" +
builtSQ.serialize()+
XML\u选项+
“”)。withFormat(Format.XML)
RawCombinedQueryDefinition query=qm.newRawCombinedQueryDefinition(queryHandle);
//执行搜索
SearchHandle results=qm.search(查询,newsearchHandle());
上面的XML_选项用于基于元素“artist”上的范围索引构建方面。有关如何构建方面选项的更多信息,请浏览以下链接

有关组合查询的信息,请参见此

希望这有帮助