私信  •  关注

Nishant Saini

Nishant Saini 最近创建的主题
Nishant Saini 最近回复了
5 年前
回复了 Nishant Saini 创建的主题 » 在ElasticSearch中,如何按两个日期中的较小者排序?

您需要从两个字段中提取一个值,然后根据该值进行排序。为了这个你需要 script based sorting . 在查询dsl中,必须添加排序参数,如下所示:

{
  "sort": {
    "_script": {
      "type": "number",
      "script": {
        "source": "if(doc['created_at'].value.getMillis() < doc['published_on'].value.getMillis()) { return doc['created_at'].value.getMillis(); } else { return doc['published_on'].value.getMillis(); }",
        "lang": "painless"
      },
      "order": "desc"
    }
  }
}
4 年前
回复了 Nishant Saini 创建的主题 » ElasticSearch 6.6.0聚合平均值,脚本不工作

_value 脚本将脚本应用于文档的每个值,然后计算修改值的平均值。你似乎能做到的是把精度降低到小数点后两位。这可以通过利用 bucket script aggregation 以获取预期值。

{
  "aggs": {
    "buckets": {
      "terms": {
        "field": "main_feature_id.keyword",
        "size": 10
      },
      "aggs": {
        "average_dwell": {
          "avg": {
            "field": "dwell.dwell_ms"
          }
        },
        "rounded_avg": {
          "bucket_script": {
            "buckets_path": {
              "curr_avg": "average_dwell"
            },
            "script": "Math.round(params.curr_avg * 100)/100.0;"
          }
        }
      }
    }
  }
}
5 年前
回复了 Nishant Saini 创建的主题 » 是否可以运行两个脚本而不是在ElasticSearch中发送两个查询?

你可以使用 bulk api 在一次通话中进行多个更新。

POST _bulk
{"update":{"_id":"1","_type":"links","_index":"db2","retry_on_conflict":3}}
{"script":{"inline":"for(int i=0;i<ctx._source.tags.size();i++){if(ctx._source.tags[i].name==\"tagname\"){ctx._source.tags.remove(i)}}","params":{"votes":2}}}
{"update":{"_id":"1","_type":"links","_index":"db2","retry_on_conflict":3}}
{"script":{"inline":"ctx._source.tags.add(params.appendtags)","params":{"appendtags":{"name":"tagname","votes":2}}}}
5 年前
回复了 Nishant Saini 创建的主题 » 查找字段以(elasticsearch)nodejs客户端开头的项

Match phrase prefix query 就是你要找的。

使用下面的查询:

{
  "query": {
    "match_phrase_prefix": {
      "toto.keyword": "hel"
    }
  }
}
5 年前
回复了 Nishant Saini 创建的主题 » 如何计算ElasticSearch中每个令牌的总数

您可以将查询拆分为三个过滤器的过滤器聚合。供参考,请看这里: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filters-aggregation.html