Elasticsearch 2.x バージョンを使用しています。データのマッピングは次のとおりです。
"mappings":{
"anchor_type": {
"properties": {
"image_url": {"type":"string"},
"vocab": {"type":"nested"}
}
}
}
「vocab」は、{string, float}
like、
[ {"human", 0.1}, {"dog", 0.3}, {"cat",0.5}]
私がやりたいことは、「犬」がクエリされたときに、最終スコアが 0.3 / 3 になるようにすることです。つまり、一致した用語のスコアを「語彙」の項目数で割った値です。
と を使用して 0.3 の取得function_score
が機能script_score
するようにしましたが、3 の取得に失敗しましたdoc['vocab'].value.size()
。
誰でもこれで私を助けることができますか?お願いします...