2017-07-25 5 views
1

Ich bin daran interessiert, das gleiche Textfeld mit verschiedenen Analysatoren zu indizieren, die beide für eine ungenaue Übereinstimmung und mit Schindeln für die Näherungsanpassung dienen. Von diesem Blogpost https://www.elastic.co/blog/multi-field-search-just-got-better Ich verstehe, dass dies möglich ist, aber ich bin mir nicht sicher, was ist der richtige Weg, es zu tun. Sollte ich das Feld nur zweimal als verschiedene Felder indizieren, jedes mit einem anderen Analysator, oder gibt es eine Möglichkeit, zwei Analysatoren für dasselbe Feld anzugeben?Elasticsearch - Wie man das gleiche Feld mit verschiedenen Analysatoren indexiert

Antwort

3
message: { 
    properties: { 
     text: { 
     type: 'string', 
     index: 'analyzed', 
     analyzer: 'custom_text_analyzer', 
     fields: { 
      standard: { 
      type: 'string', 
      index: 'analyzed', 
      analyzer: 'standard' 
      } 
     } 
     } 
    } 

Hier ist eine Möglichkeit, es zu tun, können Sie einfach fügen Sie zusätzliche Felder auf eine Eigenschaft und geben ihm, was Eigenschaften, die Sie wünschen, wenn Sie Index auf dem Server. In diesem Fall, wenn ich dieses Feld referenzieren möchte, mache ich einfach meine Abfrage text.standard statt Text.

+0

Danke! Mit Hilfe Ihrer Antwort habe ich auch herausgefunden, wo dies in der Dokumentation diskutiert wird - https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html – Ruty

+0

Ich bin froh, Ihnen helfen zu können , überprüfe eine Antwort, wenn du sie akzeptierst! Wir sind hier alle Rep-Huren. –

Verwandte Themen