[英]Compare two fields in same document without using script elasticsearch
我們使用的是彈性版本 7.10.2。 我想比較同一文檔中的兩個字段。我的組織中禁用了腳本。 請幫助在不使用腳本的情況下構建以下查詢。 這里我的查詢是:昵稱是 null 或昵稱為空或昵稱等於名字。
困難的部分是如何構建查詢以獲取昵稱等於名字的記錄
要轉換為普通查詢的相關腳本查詢:
{
"query": {
"bool": {
"must": [{
"script": {
"script": {
"inline": "doc['nickname.keyword'].value==null || doc['nickname.keyword'].value =='' || doc['nickname.keyword'].value == doc['firstname.keyword'].value",
"lang": "painless",
}
}
}]
}
}
}
我看到您已經在將nickname.keyword
.關鍵字與您的firstname
進行比較也提到這是困難的部分,為此您需要一個腳本,您可以簡單地在此關鍵字字段上使用搜索查詢並獲得您想要的結果。
您可以使用以下術語查詢。
{
"query": {
"term": {
"nickname.keyword": {
"value": "your-nickname", // provide your nickname as value
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.