Chcę sprawdzić dokumenty, które mają media_url == '' || media_url == null
. Mam zapytanie:ElasticSearch: Jak napisać zapytanie, gdzie pole łańcuchowe ma wartość zerową lub jest puste?
{
"engagements": [
"blah"
],
"query": {
"from": 0,
"size": 2,
"sort": [
{
"bookmarked": {
"order": "desc"
}
},
{
"created_at": {
"order": "desc"
}
}
],
"facets": {},
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"term": {
"car_id": "78778"
}
},
{
"range": {
"created_at": {
"gte": "2015-04-12T04:00:00.000Z",
"lte": "2015-05-13T03:59:59.999Z"
}
}
},
{
"term": {
"media_url": ""
}
}
],
"should": [
{
"term": {
"bookmarked": false
}
}
]
}
}
}
},
"aggregations": {
"word_frequencies": {
"terms": {
"field": "text",
"size": 150
}
}
},
"highlight": {
"fields": {
"text": {
"fragment_size": 1500
}
}
}
},
"api": "_search"
}
Jednakże, jeśli robię to, co robię powyżej, wówczas nie zostaną zwrócone rekordy, które są ustawione na null. Co mam zrobić, aby zwrócić rekordy z wartością '' lub wartością null jako wartością media_url?
Witam gdzie dokładnie umieściłbym to w moim ciągu zapytania? – Edmund
Zaktualizowałem moją odpowiedź, daj mi znać, jak to działa, lub zaktualizuj swoje pytanie, przykładowy dokument i mapowanie. – phuc77
Poprawną odpowiedzią było użycie 'missing: {" field ":" media_url "}' zamiast '" media_url ": null', ale nadal będzie akceptować twoją odpowiedź, ponieważ jest prawie poprawna! Dzięki!! – Edmund