[英]Is it possible to have multi-value field in Google App Engine Datastore?
[英]Elasticsearch | update_by_query | Maintain uniqueness in a multi-value field
我的 elasticsearch 类型数组索引中有一个字段field_keyword
,我正在尝试使用新值field_keyword
字段,但我想避免将重复值添加到列表中。
例如:
如果我两次通过以下请求,
{
"query": {
"bool": {
"must": [
{
"term": {
"field": "Invoice Number"
}
},
{
"term": {
"locale": "US"
}
}
]
}
},
"script": {
"source": "ctx._source.field_keyword.add(params.new_field_keyword);",
"params": {
"new_field_keyword": "Invois #"
}
}
}
值"Invois #"
被添加了两次,
"field_keyword": [ "TAX INVOICE NO. :",
"Invois #",
"Invois #"]
如何避免元素被添加两次。
如何避免元素被添加两次。
仅在值不存在时添加。
例如:
{
"query": {
"bool": {
"must": [
{
"term": {
"field": "Invoice Number"
}
},
{
"term": {
"locale": "US"
}
}
]
}
},
"script": {
"source": "if(!ctx._source.field_keyword.contains(params.new_field_keyword)){ctx._source.field_keyword.add(params.new_field_keyword)}",
"params": {
"new_field_keyword": "Invois #"
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.