我有一个简短的问题似乎很简单,但到目前为止我找不到任何答案。
我想在Elasticsearch节点上检索给日期字段的最后一个文档。但我希望得到最后一个文档,仅适用于包含特定字段的文档。
例如,让我们说我想获得包含该字段的最后一次购买" promotionCode " :
查询:
http://elasticsearch:9200/store1/purchase/_search?q=vendor:Marie&size=1&sort=date:desc
store1 是我的索引,购买是一种文档类型。
现在让我们说我在ElasticSearch中有这两个文件:
"hits": [
{
"_index": "store1",
"_type": "purchase",
"_id": "1",
"_score": 1,
"_source": {
"date": "2016-03-16T12:53:16.000Z",
"vendor": "Marie",
"promotionCode": "XYZ123"
}
},
{
"_index": "store1",
"_type": "purchase",
"_id": "2",
"_score": 1,
"_source": {
"date": "2016-03-18T12:53:16.000Z",
"vendor": "Marie"
}
}
]
以上查询将检索ID为2的文档,但我没有任何字段" promotionCode "在我的结果中。
如果我想获取包含特定字段的最后一个文档,我该怎么做?
我探索了"领域"过滤器,但它只返回void文件,如果该字段未包含,我读到有关源过滤,但不确定它是否正在做我想要的...
非常感谢任何暗示!
答案 0 :(得分:3)
哟可以尝试使用此查询:
{
"query": {
"term": { "vendor": "Marie" }
},
"filter": {
"bool": {
"must_not": { "missing": { "field": "promotionCode" } }
}
},
"sort": { "date" : "desc" },
"size": 1
}
答案 1 :(得分:0)
您可以使用Parsing HTML in python - lxml or BeautifulSoup? Which of these is better for what kinds of purposes?
<div class="chat" ng-controller="myController" ng-init="listChatMessages = []">
<h2>Chat altro utente</h2>
<div class="chatbox">
Messaggi inviati:
<div ng-repeat="message in listChatMessages">
<div>Messaggio: {{message.text}}</div>
</div>
希望它有所帮助!!