2012-04-11 2 views
3

Wenn ich mit elasticsearch nach Dokumenten suche, würde ich gerne sehen, welches Feld im Dokument der "Treffer" war, der es als Suchergebnis markiert hat. Gibt es eine native Möglichkeit, dies zu tun, oder muss ich das im Such-Client tun?Gibt es im Elasticsearch eine Möglichkeit zu zeigen, welches Feld in einem Dokument der "Hit" war?

Z. B:

GET /events/_search?q=nottingham 

gibt mir:

{//elided 
    {'hits'[ 
     {'id':1, 
     'name': 'Some name', 
     'nicknames': ['Nottingham'] 
     }]}} 

es aus diesem Beispiel offensichtlich ist, dass der Spitzname angepasst, aber kann ich Elasticsearch zu Flagge, die für mich bekommen?

Antwort

6

Elasticsearch kann Begriffe aus Ihrer Abfrage in den Ergebnisfeldern finden und hervorheben. Weitere Informationen finden Sie unter . Technisch gesehen ist es nicht dasselbe wie das Markieren von Feldern, die den "Treffer" verursacht haben, aber für die meisten praktischen Zwecke ist es genauso nützlich.

+3

Ja, um dem Benutzer Informationen anzuzeigen, verwenden Sie die Hervorhebungsfunktion. Wenn Sie wissen möchten, welche technischen Details das Dokument gefunden hat, finden Sie in der Analyze-API [http://www.elasticsearch.org/guide/reference/api/admin-indices-analyze.html]. – karmi

Verwandte Themen