2016-12-09 8 views
0

Wie bekomme ich alle Token/Wörter, die für einen Index indiziert wurden. NICHT für ein einzelnes Feld. Ich weiß, wie dies zu tun:Elasticsearch - Alle Token für Index

GET /MyIndexNameHere/_search 
{ 
    "size": 0, 
    "aggs": 
    { 
     "CommonWords": { "terms": { "field": "MyFieldName"}}  
    } 
} 

I 5 Textfelder indiziert. Ich möchte die gebräuchlichen Wörter verwenden.

Ich habe versucht:

"CommonWords": { "terms": { "field": "_all"}} 

Aber ich bekomme die mesage, dass "Fielddata nicht auf dem Feld unterstützt wird [_all] vom Typ [_all]"

Muss ich etwas etwas in meinem Index ändern ?

Danke für Ihre Hilfe.

+0

Aber warum? Kannst du bitte erklären, warum du es tust? –

+0

Mein Kunde möchte die am häufigsten verwendeten Wörter sehen. Ich erlaube dem Benutzer dann, aus dieser Liste auszuwählen, um die Ergebnisse einzuschränken. –

Antwort

0

Ich gehe davon aus, dass Sie ES verwenden 5, In ES 5, wenn Sie String-Feld haben Sie dieses Feld als Typ Text oder Stichwort zur Karte benötigen, Für Aggregation Sie Schlüsselwort benötigen. Sie sind Abfrage ist Aggregation, so MyFieldName muss Keyword-Typ sein, ändern Sie es zu Keyword und es wird funktionieren

Verwandte Themen