I documenti contengono solo campi "url" (analizzati) e "respsize" (not_analyzed) all'inizio. Voglio aggiornare i documenti che corrispondono all'URL e aggiungere un nuovo campo "categoria" Intendo; in un primo momento doc1:Come aggiornare più documenti che corrispondono a una query in elasticsearch
{
"url":"http://stackoverflow.com/users/4005632/mehmet-yener-yilmaz",
"respsize":"500"
}
Ho un dati esterni e so "stackoverflow.com" appartiene alla categoria 10, E ho bisogno di aggiornare il documento, e fare le cose come:
{
"url":"http://stackoverflow.com/users/4005632/mehmet-yener-yilmaz",
"respsize":"500",
"category":"10"
}
Ovviamente lo farò tutti i documenti i cui campi URL hanno "stackoverflow.com" e ho bisogno dell'aggiornamento di ogni documento una volta .. Poiché i dati della categoria di url non sono modificabili, non è necessario aggiornarli di nuovo. Ho bisogno di usare _update api con _version numero per controllarlo ma non posso comporre la query dsl. EDIT corro questo e guarda funziona bene: Ma i documenti non modificati ..
Sebbene risultato della query sembra vero, nuovo campo non aggiunto al docs, hanno bisogno di aggiornare o ecc?
Il primo 'term' nel tuo aggiornamento per query dovrebbe essere sul campo 'heroname' not' url'. Gli screenshot non sembrano avere nulla in comune con i documenti iniziali nella tua domanda. – Val
Lo cambio già dispiaciuto, –
il tuo campo 'heroname' è analizzato o no? se aggiungi il filtro 'mancante' alla tua query di ricerca in alto, cosa ottieni? – Val