6

JESTを使用して、特定のアナライザーとマッピングを使用してESでインデックスを作成しようとしています。

私は次のコードを使用しています:

 CreateIndex createIndex =  new CreateIndex.Builder(indexName)
    .settings(
            ImmutableSettings.builder()
                    .loadFromClasspath(
                            "jestconfiguration.json"
                    ).build().getAsMap()
    ).build();
    
    JestResult result = client.execute(createIndex);

そして、これは jestconfiguration.java です

{
  "settings": {
    "analysis": {
      "analyzer": {
        "second": {
          "type": "custom",
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "synonym"
          ]
        }
      },
      "filter": {
        "synonym" : {
            "type" : "synonym",
            "synonyms" : [
                "smart phone => smartphone"
                ]             
                    }
                }
        }
  },
    "mappings": {
    "index_type": {
      "properties": {
        "Name": {
          "type": "string",
          "analyzer": "second"
        }
      }
    }
  }
}

インデックスは指定された「設定」で正しく作成されますが、「マッピング」セクションは機能せず、フィールド「名前」のマッピングを設定できません。誰にもアイデアがありますか?

putmapping() マッピングを追加できる冗談のようなものはありますか? 理想的には、.json ファイルではなく、field_name を動的に設定できるようにしたいと考えています。

4

1 に答える 1