在QBE中创建日期范围查询格式示例时需要帮助(通过示例查询)MarkLogic

时间:2019-06-04 09:15:13

标签: javascript rest marklogic date-range query-by-example

我正在QBE中寻找日期范围查询。我正在尝试下面的查询示例

https://Server:port/v1/qbe?format=json&pageLength=10&start=1&directory=/json/&options=search_option_advanced_date&query={"$query":{
"$and":[{"creation_date":{"$le":"2018-12-12T05:40:47.496"}},{"creation_date":{"$ge":"2017-12-12T05:40:47.496"}}],"$filtered":true}}

在这里,我在'/ Creation_Date_date'上创建了路径范围索引,并在'Creation_Date_date'上创建了元素范围索引,并且还在持久选项中的search_option_advanced_date文件中添加了以下约束

<constraint name="creation_date">
   <range type="xs:date">
     <element name="Creation_Date_date"/>
   </range>
 </constraint>

尽管应该获取结果,但我还是空白了

{
  "snippet-format":"snippet", 
  "total":0, 
  "start":1, 
  "page-length": 10, 
  "selected": "include-with-ancestors", 
  "results":[], 
  "facets": {
    "EntityType":{"type":"xs:string", "facetValues":[]}, 
    "Category":{"type":"xs:string", "facetValues":[]}, 
    "Genre":{"type":"xs:string", "facetValues":[]}, 
    "creation_date":{"type":"xs:date", "facetValues":[]}
  }, 
  "metrics": {
    "query-resolution-time":"PT0.016599S", 
   "facet-resolution-time":"PT0.000578S", 
   "extract-resolution-time":null, "total-time":"PT0.017743S"
  }
}

1 个答案:

答案 0 :(得分:1)

要使用持久查询选项,QBE查询必须使用约束属性来指定查询选项:

http://docs.marklogic.com/guide/search-dev/qbe#id_32338

也就是说,如果您使用的是查询选项,则使用组合查询通常会更简单:

http://docs.marklogic.com/guide/rest-dev/search#id_69918

最后,将约束键入为xs:date值,但查询将提供xs:dateTime值。

希望有帮助,