У меня есть большой набор документов, хранящийся в индексе elasticsearch, и мне нужно найти похожие, чтобы исключить дубликаты.Как получить максимально возможный балл для запроса в elasticsearch?
К сожалению, эти документы могут иметь разные значения, поэтому я не могу полностью полагаться на фильтры. Вместо этого я пытаюсь оценить, насколько разница между двумя документами, используя несколько полей и различные значения повышения.
Если разница слишком велика, документ не считается дубликатом. Проблема в том, что я не знаю, как оценить разницу, потому что _score в ответе на поиски ничего не говорит о том, насколько велика разница.
Было бы идеально, чтобы иметь максимально возможный балл для каждого конкретного запроса. Как я могу это достичь?
Edit: Например, если я выполнить запрос, как это возвращает JSON с _SCORE, более чем 1,00
Запрос: GET/документы/SomeType/_search
{
"query": {
"bool": {
"should": [
{"match": {
"title": {
"query": "some title"
}
}}
]
}
}
}
Пример ответа:
{"взял": 1, "timed_out": false, "_shards": ..., "hits": { "всего": 100, "max_score": 1,7588379, }}
Как говорит документация, _SCORE - это просто число с плавающей, ничего не говоря о его диапазоне.
Максимально возможный балл для любого запроса будет 1,00, я не совсем уверен, что вы ищете, можете ли вы привести пример? Это максимальный балл для запроса среди документов? В этом случае простой поиск дает вам список. –
Обновлено сообщение. @VishalRao Насколько я знаю, поле «максимальная оценка» означает «максимальный результат в согласованном результирующем наборе». Это не максимально возможный балл для запроса. –