在弹性搜索中创建多字段

时间:2016-02-08 01:28:41

标签: elasticsearch

我想创建一个索引,这是我的映射。我想在字段上创建一个多字段 - '发现'一个是默认映射(analzyed),另一个是' orig'(not_analyzed)。

PUT nto
{
   "mappings": {
      "_default_": {
         "properties": {
            "date": {
               "type": "string",
               "index": "not_analyzed"
            },
            "bo": {
               "type": "string",
               "index": "not_analyzed"
            },
            "pg": {
               "type": "string"
            },
            "rate": {
               "type": "float"
            },
            "findings": {
               "type": "multi_field",
               "fields": {
                  "findings": {
                     "type": "string",
                     "index": "analyzed"
                  },
                  "orig": {
                     "type": "string",
                     "index":"not_analyzed"
                  }
               }
            }
         }
      }
   }
}

创建映射后,我看不到正在创建的orig字段。这是我看到的映射,

{
   "ccdn": {
      "aliases": {},
      "mappings": {
         "test": {
            "properties": {
               "bo": {
                  "type": "string",
                  "index": "not_analyzed"
               },
               "date": {
                  "type": "string",
                  "index": "not_analyzed"
               },
               "findings": {
                  "type": "string",
                  "fields": {
                     "orig": {
                        "type": "string",
                        "index": "not_analyzed"
                     }
                  }
               },
               "pg": {
                  "type": "string"
               },
               "rate": {
                  "type": "float"
               }
            }
         },
         "_default_": {
            "properties": {
               "bo": {
                  "type": "string",
                  "index": "not_analyzed"
               },
               "date": {
                  "type": "string",
                  "index": "not_analyzed"
               },
               "findings": {
                  "type": "string",
                  "fields": {
                     "orig": {
                        "type": "string",
                        "index": "not_analyzed"
                     }
                  }
               },
               "pg": {
                  "type": "string"
               },
               "rate": {
                  "type": "float"
               }
            }
         }
      },
      "settings": {
         "index": {
            "creation_date": "1454893575663",
            "uuid": "wJndGz1aSVSFjtidywsRPg",
            "number_of_replicas": "1",
            "number_of_shards": "5",
            "version": {
               "created": "2020099"
            }
         }
      },
      "warmers": {}
   }
}

我没有看到默认字段'调查结果' - 分析正在创建。

1 个答案:

答案 0 :(得分:0)

Elasticsearch多字段已过期。见here。 对于findings字段,您可能需要这样的内容:

"findings": {
    "type": "string",
    "index": "analyzed",
    "fields": {
        "orig":   { "type": "string", "index": "not_analyzed" }
    }
}