1
我有一個字段gender
它可以有三個值:匹配空在應Elasticsearch查詢2.3.0
- MALE
- 女
- 空
的gender
的映射:
"gender": {
"type": "string",
"index": "not_analyzed"
}
匹配null
我跟隨this。
我用這個查詢與gender
爲null
發出文件:
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "gender"
}
}
}
}
}
我想建立一個should
查詢,以便搜索結果可能返回具有gender
領域的任何文件:
{
"query": {
"bool": {
"should": {
"bool": {
"should": [
{
"match": {
"gender": {
"query": "MALE",
"type": "boolean"
}
}
},
{
"match": {
"gender": {
"query": "FEMALE",
"type": "boolean"
}
}
}
],
"must_not": {
"exists": {
"field": "gender"
}
}
}
}
}
}
}
上面的查詢給我0次點擊。我應該如何爲此構建正確的查詢?
因爲你用你得到0結果'必須'同時具有'男性'和'女性'的值。它應該是「應該」而不是「必須」。我不明白你用'must_not'和'exists'做了什麼。 –
如何將「gender」爲'null'的文檔匹配?我正在關注[this](https://www.elastic.co/guide/en/elasticsearch/reference/2.3/query-dsl-exists-query.html#_literal_missing_literal_query) –
「gender」字段的映射是什麼? –