3
我想要在彈性搜索中檢查自定義得分腳本中是否存在字段。Elasticsearch自定義評分腳本 - 檢查字段是否存在?
該搜索的工作原理:
{
"query": {
"custom_score": {
"script": "((doc['region'].value == '1') ? 1 : 0)",
"query": {
"constant_score": {
"filter": {
"and": [
{
"term": {
"id": "100"
}
}
]
}
}
}
}
},
"size": 1
}
它將得分結果作爲1,如果該區域的字段值是1。
但此查詢將不起作用:它不會進球的文檔1,如果該地區字段不會在文檔中存在:
{
"query": {
"custom_score": {
"script": "((doc['region'].value == null) ? 1 : 0)",
"query": {
"constant_score": {
"filter": {
"and": [
{
"term": {
"id": "100"
}
}
]
}
}
}
}
},
"size": 1
}
如何檢查在腳本中遺漏值?
不幸的是,該字段是日期類型。 – user697547
這是一回事。我已經更新了答案。 – imotov
謝謝!有用! – user697547