python ElasticSearch自定义排序,基于提供的ids数组顺序。来自这里的原始代码:http://damienalexandre.fr/post/elasticsearch-ids-qu

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python ElasticSearch自定义排序,基于提供的ids数组顺序。来自这里的原始代码:http://damienalexandre.fr/post/elasticsearch-ids-qu相关的知识,希望对你有一定的参考价值。

q = {
  "query": {
    "function_score": {
      "boost_mode": "replace",
      "query": {
        "ids": {
          "values": [
            50,
            80,
            44,
            12
          ]
        }
      },
      "script_score": {
        "params": {
          "ids": [
              50,
              80,
              44,
              12
          ]
        },
        "script": """
          count = ids.size();
          id    = org.elasticsearch.index.mapper.Uid.idFromUid(doc['_uid'].value);
          for (i = 0; i < count; i++) {
            if (id == ids[i]) { return count - i; }
           }""",
      }
    }
  },
  "size": 20,
  "from": 0
}

以上是关于python ElasticSearch自定义排序,基于提供的ids数组顺序。来自这里的原始代码:http://damienalexandre.fr/post/elasticsearch-ids-qu的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch 实现自定义排序插件(转载)

基于Elasticsearch的自定义评分算法扩展

基于Elasticsearch的自定义评分算法扩展 (转)

基于Elasticsearch的自定义评分算法扩展 (转)

python中自定义排序函数

Python应用——自定义排序全套方案