In der Elasticsearch Implementierung, ich habe einige einfache Aggregationen auf der Basis von wenigen Felder, wie unten gezeigt -elasticsearch - Aggregation gibt Terme im Schlüssel zurück, aber nicht das komplette Feld, wie kann ich das volle Feld zurückgeben?
"aggs" : {
"author" : {
"terms" : { "field" : "author"
, "size": 20,
"order" : { "_term" : "asc" }
}
},
"title" : {
"terms" : { "field" : "title"
, "size": 20
}
},
"contentType" : {
"terms" : { "field" : "docType"
, "size": 20
}
}
}
Die Aggregationen funktionieren und ich die Ergebnisse entsprechend zu bekommen. aber das Titelschlüsselfeld, das zurückgegeben wird (oder jedes andere Feld - Mehrfachwort), hat Einzelwortaggregation und Ergebnisse. Ich brauche den vollständigen Titel in dem zurückgegebenen Ergebnis, anstatt nur ein Wort - was nicht viel Sinn macht. Wie kann ich das bekommen?
Aktuelle Ergebnisse (nur ein Ausschnitt) -
"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
} ] }
erwartete Ergebnisse -
"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
} }
ich durch eine Menge Dokumentation ging, erklärt es verschiedene Möglichkeiten, um aggregierte Ergebnisse, aber ich konnte nicht Finden Sie, wie Sie den vollständigen Text erhalten, wenn ein Feld im Schlüssel im Ergebnis ist, bitte beraten Sie, wie ich das erreichen kann?
vielen Dank Dan! Ich werde es versuchen, sieht sehr vielversprechend aus! – dev123
Wie wäre es mit einem Feld, das ich für die Suche in Token haben muss, aber gleichzeitig nicht für Aggregationen? – ulkas
Das obige Mapping macht das, es indiziert das Feld unter Verwendung des Standardanalysators (Standardanalysator) und indiziert eine nicht-aktinierte Version des Feldes. Verwenden Sie beispielsweise für die Suche den Feldnamen 'title' (mit Token versehen), für Aggregationen den Feldnamen' title.unouched' (nicht-akzentuiert). –