Хорошо, после того, как я весь день рвал на себе волосы, пытаясь понять это, я решил получить некоторый вклад от сообщества.
Следует отметить, что я новичок в Elasticsearch.
Идея состоит в том, что у меня есть индекс ES, содержащий некоторые документы, и мне нужно индексировать новые документы, только если нет уже проиндексированных существующих документов с аналогичным содержимым поля (но не обязательно равным).
Я могу выполнить запрос на сопоставление для нескольких полей и получить глобальную оценку для запроса, но, поскольку эта оценка не является процентом от максимально доступной оценки, я не уверен, как установить порог, чтобы определить, могу ли я вставить документ или нет .
Я, очевидно, немного запутался в системе подсчета очков ES. Заранее спасибо за всю помощь, которую я могу получить в этом.
ИЗМЕНИТЬ:
В качестве основного примера
Это уже проиндексировано:
{
"title": "My first blog entry",
"text": "Just trying this out...",
"date": "2014/01/01"
}
Это новое, но его не следует индексировать, поскольку поля не равны, а слишком похожи:
{
"title": "My first blog entries",
"text": "Just trying it out...",
"date": "2014/01/01"
}
Это новое и должно быть проиндексировано:
{
"title": "My second entry for this blog",
"text": "I am just trying out a few things",
"date": "2014/01/01"
}
Так что это в основном дедуплицирование предыдущего индексирования и основано на сходстве полей, которое мне нужно :)