ElasticSearch - zwiększenie trafności w oparciu o wartość pola
Musisz znaleźć sposób w ElasticSearch, aby zwiększyć trafność dokumentu na podstawie określonej wartości pola. W szczególności we wszystkich moich dokumentach znajduje się specjalne pole, w którym im wyższa wartość pola, tym bardziej odpowiedni dokument, który powinien zawierać, niezależnie od wyszukiwania.
Rozważ następującą strukturę dokumentu:
{
"_all" : {"enabled" : "true"},
"properties" : {
"_id": {"type" : "string", "store" : "yes", "index" : "not_analyzed"},
"first_name": {"type" : "string", "store" : "yes", "index" : "yes"},
"last_name": {"type" : "string", "store" : "yes", "index" : "yes"},
"boosting_field": {"type" : "integer", "store" : "yes", "index" : "yes"}
}
}
Chciałbym mieć dokumenty z wyższą wartością pola boosting_fieldz natury bardziej istotne niż te o niższej wartości pola boosting. To tylko punkt wyjścia - dopasowanie określenia zapytania i innych pól będzie również brane pod uwagę przy określaniu ostatecznego wyniku trafności każdego dokumentu w wyszukiwaniu. Ale,wszystkie pozostałe są równe, im wyższe pole wzmocnienia, tym bardziej odpowiedni dokument.
Czy ktoś ma pomysł, jak to zrobić?
Wielkie dzięki!