2017-06-27 2 views
0

Ich habe derzeit eine ElasticSearch 5.4-Instanz, die auf dem Elasticsearch-Dienst von AWS gehostet wird. Dieser Dienst sperrt jedoch mehrere API-Aufrufe wie die zum Schließen und Öffnen des Servers. Aus diesem Grund kann ich die Einstellungen nicht aktualisieren, um einen benutzerdefinierten Tokenizer aus meinem Wissen zu haben. Es muss eine Möglichkeit geben, diesen Tokenizer bei der Erstellung von Indizes und nicht erst danach hinzuzufügen.Elasticsearch auf AWS - Hinzufügen eines Tokenizers

Meine Frage ist - wie füge ich diesen benutzerdefinierten Tokenizer hinzu, wenn er die Mappings erstellt/erstellt, anstatt danach (da ich den Server schließen müsste, um diese Einstellungen anzupassen, nachdem ich den Index erstellt habe).

 analysis: { 
      analyzer: { 
      ngram_analyzer: { 
       tokenizer: "ngram_compounder" 
      } 
      }, 
      tokenizer: { 
      ngram_compounder: { 
       type: "ngram", 
       min_gram: 3, 
       max_gram: 3, 
       token_chars: [ 
       "letter", 
       "digit" 
       ] 
      } 
      } 
     }, 

Antwort

2

Sie können diese in Ihre Zuordnung über „Einstellungen“ einbetten:

{ 
    "settings": { 
     "analysis": { 
      "analyzer": { 
       "ngram_analyzer": { 
        "tokenizer": "ngram_compounder" 
       } 
      }, 
      "tokenizer": { 
       "ngram_compounder": { 
        "type": "ngram", 
        "min_gram": 3, 
        "max_gram": 3, 
        "token_chars": [ 
         "letter", 
         "digit" 
        ] 
       } 
      } 
     } 
    }, 
    "mappings": { 
     "index_1": {...}, 
     "index_2": {...} 
    } 
} 

Das ist für mich in ES 1.7.x gearbeitet und sollte auch noch anwendbar sein.

Cheers, Dominik

+0

Ich bin nicht sicher, wo dies gehen soll. Ich benutze derzeit die Javascript API. –

+0

Ich habe es mit der Javascript API gefunden. Ich habe gerade die Einstellungen in den Körper des Aufrufs von indexs.create platziert und es hat funktioniert. –

Verwandte Themen