Ho un campo "NomeDipendente" in un indice di ricerca elastico - e vorrei eseguire una query che mi restituirà tutti i casi in cui ci sono valori duplicati di "EmployeeName". Può essere fatto?Come ottenere valori di campo duplicati nella ricerca elastica per nome campo senza conoscere il suo valore
Ho trovato più_like_questo ma questo richiede il valore di campo per "like_text". Ma il mio requisito è quello di ottenere l'elenco dei dipendenti che stanno avendo nomi duplicati senza conoscerne il valore.
{
"more_like_this" : {
"fields" : ["EmployeeName"],
"like_text" : "Mukesh",
"min_term_freq" : 1,
"max_query_terms" : 12
}
}
Grazie in anticipo
saluti Mukesh
Come appare la mappatura di 'EmployeeName'? E ''not_analyzed' o è un multi-campo con un sotto-campo' not_analyzed'? Puoi cambiare la tua mappatura in questo senso? In tal caso, vedere il commento di @Jettro di seguito, è possibile utilizzare una sub-aggregazione 'top_hits' per ottenere i documenti duplicati. – Val
Grazie per la risposta nella mappatura EmployeeName non è_analizzato e ho anche ottenuto il risultato all'interno di aggregazioni. Ora cercherò di ottenere i documenti per quel risultato. Grazie ancora – Mukesh
HI Val, Potete per favore darmi un esempio per top_hits. Ho provato con questo, ma sotto aggregazioni sto ottenendo un valore diverso del documento per i nomi duplicati e ottenere diversi documenti in top_hits. Grazie – Mukesh