2016-05-10 5 views
2

https://www.elastic.co/guide/en/elasticsearch/reference/current/suggester-context.html)のようないくつかのコンテキスト補完スキーママッピングを持つインデックスを作成する必要があります。 https://github.com/sksamuel/elastic4s/issues/452にあるように、これはDSLによってサポートされていないようです。elastic4sを使用して生のJSONからインデックスを作成します

生のJSON文字列(生のクエリに似ています)からインデックスを作成するとよいでしょう。これを達成することは可能ですか?

答えて

2

あなたはこのような変数rawMappingでJSONのマッピングを持っていることを考慮すると:

val rawMapping = 
    """{ 
      "service": { 
        "properties": { 
         "name": { 
          "type" : "string" 
         }, 
         "tag": { 
          "type" : "string" 
         }, 
         "suggest_field": { 
          "type": "completion", 
          "context": { 
           "color": { 
            "type": "category", 
            "path": "color_field", 
            "default": ["red", "green", "blue"] 
           }, 
           "location": { 
            "type": "geo", 
            "precision": "5m", 
            "neighbors": true, 
            "default": "u33" 
           } 
         } 
        } 
       } 
       } 
      }""" 

あなたはこのような生のマッピングを使用して索引を作成することができます。

client.execute { 
    create index "services" source rawMapping 
} 
+0

あなたは 'rawmapping'文字列を必要とします'' mappings ':{...} 'で始まります。 APIが 'createIndex(" services ")のソースrawMapping'になりました – salvob

関連する問題