我正在尝试在Elasticsearch中映射一个多字段

  • 第一个字段-“in”应包含所有索引列
  • 第二个字段-“orig”应按原样包含文本。

  • 例如:
        "findings": {
           "type": "multi_field",
           "fields": {
              "in": {
                 "type": "string"
              },
              "orig": {
                 "type": "string",
                 "index":"not_analyzed"
              }
           }
    

    一旦创建并查询,它就是它的外观。

    当index ='no'时,是否意味着该字段将永远不会被索引?
      "findings": {
                      "type": "string",
                      "index": "no",
                      "fields": {
                         "in": {
                            "type": "string"
                         },
                         "orig": {
                            "type": "string",
                            "index": "not_analyzed"
                         }
                      }
    

    最佳答案

    "index" : "no"对于不同类型具有不同的含义。由于您问题中的findings字段是String,因此根据elasticsearch documentation具有以下含义。



    您无法直接搜索findings字段,因为它具有index: no,但是您可以使用findings.infindings.orig进行搜索

    您可以学习有关index属性here的更多信息

    08-07 17:01