2016-08-01 21 views
0

Ich möchte auf ein Dokument in meinem Index direkt mit seiner _id Feld zugreifen und ich möchte ein Wort in messageText Feld markieren, dafür erstellte ich unten Abfrage aber highlight Attribut erscheint nicht in der Ergebnisantwort.rufen Sie ein Dokument mit _id Feld, das ein Feld enthält markierte Wörter in elsaticsearch

{ 
    "query":{ 
     "term":{ 
      "_id": "1006382869737" 
     } 
    }, 
    "highlight" : { 
     "tags_schema" : "styled", 
     "fields" : { 
      "messageText" : { 
       "highlight_query":{ 
        "term": { 
         "messageText":"car" 
        } 
       } 
      } 
     } 
    } 
} 

Ich bin sicher, dass car in messageText Feld für Dokument von Id 1006382869737 aufgetreten ist. also bin ich sicher highlights muss als Antwort existieren, aber es ist nicht.

Wenn es wichtig ist, verwende ich 2.3.4 Version von elasticsearch. und Abfrage wurde gemäß dieser documentation erstellt. Ich bin nicht sicher, was rescore_query ist in dieser Dokumentation, wenn es wichtig ist, bitte sagen Sie mir, wie Sie meine Abfrage bearbeiten, sonst geben Sie mir einen anderen Vorschlag.

tnx :)

Weitere Informationen

ich das unten auch Abfrage versuchen:

{ 
    "query":{ 
     "bool": { 
      "must":[ 
       { 
        "term":{ 
         "_id": "1006382869737" 
        } 
       }, 
       { 
        "term": { 
         "messageText":"car" 
        } 
       } 
      ] 
     } 

    }, 
    "highlight" : { 
     "fields" : { 
      "messageText" : {} 
     } 
    } 
} 

aber es ist kein Dokument Treffer verursacht.

+0

Wie sieht das 'messageText' Feld für das Dokument mit' _id: 1006382869737' aus? –

Antwort

0

Ich fand Lösung: Meine Daten stammen von einem Server, auf den ich keinen Zugriff auf seinen Code habe. Nach vielen Debugging finde ich heraus, dass Server in einigen Fällen die Textdaten in einem anderen Feld namens caption senden. Leider hat der Server keine gute Dokumentation, die dieses Problem verursacht.

Schließlich finde ich Problem und fügen Sie eine weitere highlight_query für caption Feld und es funktioniert jetzt gut.