asticsearch - Score_mode sum не возвращает ожидаемые результаты - PullRequest
0 голосов
/ 06 июня 2018

У меня есть запрос с двумя функциями затухания (ES 2.4.4), я использую "score_mode" : "sum" для суммирования баллов по функциям затухания + оценка по термину запроса.для теста я использую "boost_mode" : "replace", чтобы другие оценки (из запроса) не влияли на мою оценку (я хочу проверить функции затухания).

это мои функции распада:

"function_score": { "boost_mode" : "replace", "score_mode" : "sum", "functions": [ { "gauss": { "date": { "scale": "10d", "offset": "15d", "decay": 0.9 } }, "weight" : 400 }, { "gauss": { "priority": { "origin": "5000", "scale": "2000", "decay": 0.9 } }, "weight" : 20 } ]

мои результаты включают 2 статьи с разными датами (2017-08-28, 2009-05-08) стот же приоритет (1000) и тот же счет!(13.122) как это может быть?почему 2017-08-28 не получает лучший результат?поэтому я попытался объяснить запрос.

для 2017-08-28:

`"value": 13.122,
              "description": "function score, score mode [sum]",
              "details": [
                {
                  "value": 7.897688e-31,
                  "description": "function score, product of:",
                  "details": [
                    {
                      "value": 1,
                      "description": "match filter: *:*",
                      "details": [

                      ]
                    },
                    { }
                  ]
                },
                {
                  "value": 13.122,
                  "description": "function score, product of:",
                  "details": [
                    {
                      "value": 1,
                      "description": "match filter: *:*",
                      "details": [

                      ]
                    },
                    {
                      "value": 13.122,
                      "description": "product of:",
                      "details": [`

Я не понимаю, почему оценка составляет 13,122 вместо 13,122 + 7,897.есть ошибка с "score_mode" : "sum" или есть что-то, чего я не понимаю?другая статья от 2009-05-08 имеет оценку 13,122 для приоритета и 0 для даты.

примечание: я должен использовать "score_mode" : "sum", потому что я хочу получить 10 лучших результатов по каждому типу, идля некоторых моих типов дата не имеет значения, поэтому я использую старую дату, в которой счет равен 0, когда в режиме оценки установлено умножение (режим оценки по умолчанию с упругой передачей) все мои оценки для этого типа возвращаются как 0 из-за умножения.

1 Ответ

0 голосов
/ 06 июня 2018

Это значение не 7,897, а 7,897688e-31.Таким образом, ваш общий балл составляет их сумму, которая составляет

13.1220000000000000000000000000000007897688

, т. Е. 13,122.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...