【发布时间】:2019-09-03 13:06:10
【问题描述】:
- 使用 Elasticsearch v6.5
嗨, 我在日期字段上使用带有 field_value_factor 的 function_score 查询。我的查询如下:
POST /users/_search
{
"query": {
"function_score": {
"query": {
"match_all": {}
},
"functions": [
{
"field_value_factor": {
"field": "createdAt"
}
}
]
}
}
}
Response
200 OK
{
"hits": {
"hits": [
{
"_score": 1545536870000000,
"_type": "_doc",
"_id": "user1",
"_source": {
"createdAt": 1545536877421,
"firstName": "foo1"
},
"_index": "users"
},
{
"_score": 1545536870000000,
"_type": "_doc",
"_id": "user2",
"_source": {
"createdAt": 1545536877422,
"firstName": "foo2"
},
"_index": "users"
}
],
"max_score": 1545536870000000
},
"took": 17
}
我的问题是: 1.为什么即使字段的值不同,两个文档也返回相同的分数? 2. 为什么 score 将实际字段值修剪成一个较小的值,然后乘以 10000000。使用字段值因子的全部目的不就是对那些具有较高字段值的文档进行评分吗?
【问题讨论】:
标签: elasticsearch