Nell'implementazione elasticsearch, ho pochi semplici aggregazioni sulla base di alcuni campi, come mostrato qui sotto -elasticsearch - L'aggregazione restituisce i termini in chiave, ma non il campo completo, come posso ottenere il campo completo restituito?
"aggs" : {
"author" : {
"terms" : { "field" : "author"
, "size": 20,
"order" : { "_term" : "asc" }
}
},
"title" : {
"terms" : { "field" : "title"
, "size": 20
}
},
"contentType" : {
"terms" : { "field" : "docType"
, "size": 20
}
}
}
Le aggregazioni funzionano bene e ottengo i risultati di conseguenza. ma il campo chiave del titolo restituito (o qualsiasi altro campo - multi parola), ha una sola parola aggregazione e risultati. Ho bisogno del titolo completo nel risultato restituito, piuttosto solo di una parola, il che non ha molto senso. come posso averlo.
risultati attuali (solo un frammento) -
"title": {
"buckets": [
{
"key": "test",
"doc_count": 1716
},
{
"key": "pptx",
"doc_count": 1247
},
{
"key": "and",
"doc_count": 661
},
{
"key": "for",
"doc_count": 489
},
{
"key": "mobile",
"doc_count": 487
},
{
"key": "docx",
"doc_count": 486
},
{
"key": "pdf",
"doc_count": 450
},
{
"key": "2012",
"doc_count": 397
} ] }
risultati attesi -
"title": {
"buckets": [
{
"key": "test document for stack overflow ",
"doc_count": 1716
},
{
"key": "this is a pptx",
"doc_count": 1247
},
{
"key": "its another document and so on",
"doc_count": 661
},
{
"key": "for",
"doc_count": 489
},
{
"key": "mobile",
"doc_count": 487
},
{
"key": "docx",
"doc_count": 486
},
{
"key": "pdf",
"doc_count": 450
},
{
"key": "2012",
"doc_count": 397
} }
sono andato attraverso un sacco di documentazione, spiega diversi modi di aggregare i risultati, ma non ho potuto trovare come ottenere il testo completo se un campo in chiave in risultato, si prega di avvisare come posso ottenere questo?
grazie mille Dan !! Ho intenzione di provare questo, sembra molto promettente! – dev123
che ne dici di un campo, che ho bisogno di avere tokenizzato per la query di ricerca, ma allo stesso tempo reso nulla per le aggregazioni? – ulkas
Il mapping sopra lo fa, indicizza il campo usando l'analizzatore predefinito (analizzatore standard) e indicizza una versione del campo non modificata. Ad esempio, per la ricerca utilizzare il nome del campo 'title' (tokenized), per le aggregazioni utilizzare il nome del campo' title.untouched' (askenizzato). –