我有以下索引索引
{
"docs": {
"mappings": {
"text": {
"properties": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
"code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
“代碼”可以有值:["a"]、["b"]、["a"、"b"] 或 []
我需要一個查詢來減輕代碼的值: "a" 或 []。任何人都可以幫助解決這個查詢,這是我迄今為止嘗試過的但沒有成功的方法(這似乎是“a”和“[]”;我想要“a”或“[]”)。
"bool": {
"should": [
{
"match": {
"code": "a"
}
}
],
"must_not": [
{
"exists": {
"field": "code"
}
}
]
}
uj5u.com熱心網友回復:
OR 可以用 實作bool/should,但bool/must約束必須在bool/should.
您應該嘗試使用此查詢:
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"match": {
"code": "a"
}
},
{
"bool": {
"must_not": [
{
"exists": {
"field": "code"
}
}
]
}
}
]
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/361033.html
