我有这样的XML。
xquery version "1.0-ml";
import module namespace search = "http://marklogic.com/appservices/search" at "/MarkLogic/appservices/search/search.xqy";
search:search(
'ticker:CSGN.VX AND (dateRange GE "2015-08-07" AND dateRange LE "2015-08-21")',
<options xmlns="http://marklogic.com/appservices/search">
<constraint name="dateRange">
<range type="xs:date" facet="false">
<element ns="" name="date"/>
</range>
</constraint>
<constraint name="ticker">
<range type="xs:string" >
<element ns="" name="ticker"/>
</range>
</constraint>
</options>)
我将在不同年份为不同的公司提供类似的XML。现在我想在特定的持续时间内搜索具有CSGN.VX代码的文档,因此我使用此查询。
# Get Websites/webapps
$websites = Get-AzureWebsite | where-object -FilterScript{$_.state -eq 'Running' }
# Stop each website
foreach -parallel ($website In $websites)
{
$result = Stop-AzureWebsite $website.Name
if($result)
{
Write-Output "- $($website.Name) did not shutdown successfully"
}
else
{
Write-Output "+ $($website.Name) shutdown successfully"
}
}
有没有办法与文档搜索一起,我还可以获得特定时间段的closingPrice平均值?
我刚刚得到了一个解决方案,但我有一个进一步的查询,我正在寻找一种方法来实现这个使用Marklogic的Java客户端API,所以有没有办法实现搜索:解析和搜索:使用Java客户端API的值
我知道实现这一点的一种方法是通过MarklogicXCC API,但我想知道是否有一种方法可以使用Client API运行这些函数
答案 0 :(得分:1)
如果你在closingPrice上有一个范围索引,你应该可以这样做:
xquery version "1.0-ml";
import module namespace search = "http://marklogic.com/appservices/search"at "/MarkLogic/appservices/search/search.xqy";
let $query :=
search:parse(
'ticker:CSGN.VX AND (dateRange GE "2015-08-07" AND dateRange LE "2015-08-21")',
<options xmlns="http://marklogic.com/appservices/search">
<constraint name="dateRange">
<range type="xs:date" facet="false">
<element ns="" name="date"/>
</range>
</constraint>
<constraint name="ticker">
<range type="xs:string" >
<element ns="" name="ticker"/>
</range>
</constraint>
</options>,
"search:query"
)
return
search:values(
'closingPrice',
<options xmlns="http://marklogic.com/appservices/search">
<values name="closingPrice">
<range type="xs:double">
<element ns="" name="closingPrice"/>
</range>
<aggregate apply="avg"/>
</values>
</options>,
$query
)
注意:我建议单独存储每个stockData,否则dateRange过滤器可能无法按预期工作。
HTH!