增加'观看'每次使用_id通过_search endpoint

时间:2017-09-05 19:59:30

标签: elasticsearch elasticsearch-dsl

说,我有一个名为blog的索引,它有10个名为article的文档。该文章是一个JSON,其中一个属性为views,初始化为0.

我想知道每次使用文档ID通过views端点显式调用document时,是否有更新_search计数器的好方法,以便我可以对其进行排序通过查看我的其他查询。

或者那是否需要在应用层处理?

到目前为止我的微弱尝试查询dsl:

let options = {
    index: 'blog',
    body: {
        query: {
            function_score: {
                query: {
                    match: { _id: req.params.articleID }
                },
          "weight" : 2
            ,
            score_mode: "sum"
            ,
            script_score : {
                script : {
                  inline: "(2 + doc['view'].value)"
                }
            }
                }
            },
        }
    };

我一直在尝试使用内联脚本,但这需要我发送两个单独的请求。首先搜索&如果找到则更新。我想知道我是否可以在一个查询中执行此操作,即每当我通过views查询时触发_search计数器自动增加一个。

0 个答案:

没有答案