Ich möchte, dass die übereinstimmenden Ergebnisse hervorgehoben werden. Das funktioniert für mich, wenn ich den Feldnamen erwähne und den hervorgehobenen Text zurückgebe, aber wenn ich das Feld als "_all" gebe, gibt es keinen Wert zurück. Das funktioniert für mich:
%Vor%Dies gibt den erwarteten Wert wie folgt zurück: [Hervorhebung] = & gt; stdClass Objekt ([my_field] = & gt; Array ([0] = & gt; stackoverflow ist die beste Website für Technikfreaks))
Aber wenn ich das gebe:
%Vor%Ich bekomme null Wert / kein Ergebnis.
%Vor%Wie bekomme ich es in irgendeinem Feld zur Wirkung, so dass ich den Feldnamen nicht erwähnen muss?
Sie müssen das _all-Feld als gespeichert abbilden. Die folgende Abbildung sollte den Zweck erfüllen. Beachten Sie jedoch, dass dies zur Indexgröße beiträgt.
%Vor% Wenn Sie ES 2.x
verwenden, müssen Sie die Option require_field_match
auf false
setzen, da Änderungen vorgenommen , aus dem doc
%Vor%Der Standardwert für die Option require_field_match wurde von false in true geändert, was bedeutet, dass die Textmarker standardmäßig nur die Felder berücksichtigen, die abgefragt wurden.
Dies bedeutet, dass bei der Abfrage des Feldes _all versucht wird, auf zu markieren Jedes Feld außer _all erzeugt keine markierten Snippets.
Tags und Links elasticsearch lucene