У меня есть несколько документов вроде этого:
{
"text": "sample - very high relevancy",
"myField": "a1"
},
{
"text": "sample - less relevancy",
"myField": "a2"
},
{
"text": "sample - high relevancy",
"myField": "a1"
},
{
"text": "sample - very less relevancy",
"myField": "a3"
}
Я написал запрос о поисковом сходстве и прочее ... Я пытаюсь отсортировать его так, чтобы никогда не появлялось два одинаковых значения myField
друг другу.
Я хочу, чтобы все отличные значения myField
отображались в верхней части результатов, затем повторялись.
То, что я ищу , эторасширенный запрос сортировки, который снижает оценку документа, если в результате уже появилось поле myField
.
В соответствии с моим примером, я ожидаю, что мой результат будет :
{
"text": "sample - very high relevancy",
"myField": "a1"
},
{
"text": "sample - less relevancy",
"myField": "a2"
},
{
"text": "sample - very less relevancy",
"myField": "a3"
},
{
"text": "sample - high relevancy",
"myField": "a1"
},
{
"text": "sample - extremely less relevancy",
"myField": "a5"
}
Поле высокой релевантности появилось внизу результатов, потому что значение a1
уже появилось в верхней части, а другие поля a2
a3
для меня важнее.Кроме того, если документ не имеет отношения к нашему запросу, он должен быть в самом низу, независимо от того, не указано ли значение myField
.