Mam pole "EmployeeName" w elastycznym indeksie wyszukiwania - i chciałbym wykonać zapytanie, które zwróci mi wszystkie przypadki, w których występują zduplikowane wartości "EmployeeName". Czy można to zrobić?Jak uzyskać powielone wartości pól w elastycznym wyszukiwaniu według nazwy pola bez znajomości jego wartości
Znalazłem more_like_this, ale wymaga to wartości pola dla "like_text". Ale moim wymaganiem jest uzyskanie listy pracowników, którzy mają duplikaty nazwisk, nie znając ich wartości.
{
"more_like_this" : {
"fields" : ["EmployeeName"],
"like_text" : "Mukesh",
"min_term_freq" : 1,
"max_query_terms" : 12
}
}
Dzięki z góry
Pozdrowienia Mukesh
Jak wygląda odwzorowanie 'EmployeeName'? Czy jest to 'not_analyzed' lub czy jest to pole wieloliniowe z podpanią' not_analyzed'? Czy możesz zmienić swoje mapowanie w tym sensie? Jeśli tak jest, zobacz komentarz @Jettro poniżej, możesz użyć sub-agregacji 'top_hits', aby uzyskać duplikaty dokumentów. – Val
Dzięki za odpowiedź w mapowaniu EmployeeName jest not_analyzed, a także otrzymałem wynik wewnątrz agregacji. Teraz postaram się uzyskać dokumenty dla tego wyniku. Jeszcze raz dziękuję – Mukesh
HI Val, Czy możesz podać przykład top_hits. Próbowałem z tym, ale w ramach agregacji otrzymuję inną wartość dokumentu dla duplikatów nazw i uzyskiwanie różnych dokumentów w top_hits. Dzięki – Mukesh