2

現在、elasticsearch-py を使用して Python で ES をクエリしようとしていますが、成功しませんでした...「elasticsearch-head」プラグインでリクエストをテストしていますが、正常に動作します (結果はスコアリングされます)。

ただし、Pythonで実行すると、何かが間違っているようで、同じ結果が得られますが、適切にスコアリングされません...

コードは次のとおりです。

custom_query={
  "query": {
    "function_score": {
      "query": {
        "match_all": {}
      },
      "functions": [
        {
          "script_score": {
            "lang": "groovy", 
            "script": "_score+20",
            "params":{"myMap":{}}
          }
        }
      ]
    }
  }
}

これは、スコアリング メカニズムをテストするためだけに作成した、非常に単純なカスタム クエリです。

src = es.search(index=['test'],scroll='60s',search_type='scan',size=10,body=custom_query)

今私はそれをテストします:

while(1):
    src = es.scroll(scroll_id=sid, scroll='60s')
    sid = src['_scroll_id']
    kws.extend(src['hits']['hits'])

これが与えるのは、不適切に採点された一連の結果だけです...スクリプトが使用されているかどうかを理解するために「_explanation」を有効にしました...この意味:-「_score」は常に0です-「_explanation」は示しています何かのようなもの:

{
    'description': 'function score',
    product of:'',
        'value': 21.0,
        'details': [
            {
                'description': 'ConstantScore(*:*)',
                product of:'',
                    'value': 1.0,
                    'details': [
                        {'description': 'boost', 'value': 1.0}, {'description': 'queryNorm', 'value': 1.0}
                    ]
            },
            {
                'description': 'Math.min of',
                'value': 21.0,
                'details': [
                    {
                        'description': 'script score function',
                        computed with script:"return _score+30;" and parameters: \n{myMap={}}', 'value': 21.0
                    },
                    {
                        'description': 'maxBoost',
                        'value': 3.4028235e+38
                    }
                ]
            },
            {
                'description': 'queryBoost',
                'value': 1.0
            }
        ]
}
4

1 に答える 1

0

問題は ElasticSearch 自体にあるようです... "search-type" : "scan" では、複数の結果をスコアリングできません。

この問題のより詳細な説明は、こちらで提供されています

于 2015-04-21T17:06:40.937 に答える