elasticsearch 在Elasticsearch中,如何将规格化器与嵌套对象组合?,elasticsearch,elasticsearch" /> elasticsearch 在Elasticsearch中,如何将规格化器与嵌套对象组合?,elasticsearch,elasticsearch" />

elasticsearch 在Elasticsearch中,如何将规格化器与嵌套对象组合?

elasticsearch 在Elasticsearch中,如何将规格化器与嵌套对象组合?,elasticsearch,elasticsearch,从高层次上看,我的用例需要一个嵌套对象,我还希望对嵌套对象执行完全不区分大小写的匹配 我从这里的示例开始: 它几乎完全符合我的要求,只是它不使用嵌套对象 我试图通过将类型从text更改为nested来修改上面页面上的代码: PUT titles { "settings": { "analysis": { "normalizer": { "my_normalizer": { "type": "custom", "fi

从高层次上看,我的用例需要一个嵌套对象,我还希望对嵌套对象执行完全不区分大小写的匹配

我从这里的示例开始:

它几乎完全符合我的要求,只是它不使用嵌套对象

我试图通过将类型从
text
更改为
nested
来修改上面页面上的代码:

PUT titles
{
  "settings": {
    "analysis": {
      "normalizer": {
        "my_normalizer": {
          "type": "custom",
          "filter": ["lowercase"]
        }
      }
    }
  },
  "mappings": {
    "default": {
      "properties": {
        "title": {
          "type": "nested",
          "fields": {
            "normalize": {
              "type": "keyword",
              "normalizer": "my_normalizer"
            },
            "keyword" : {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}
但是,这不起作用,我收到一条错误消息


如何对Elastic中的嵌套对象执行不区分大小写的精确匹配搜索

由于要处理嵌套对象,因此需要定义其
属性
,而不是
字段

{
  "settings": {
    "analysis": {
      "normalizer": {
        "my_normalizer": {
          "type": "custom",
          "filter": [
            "lowercase"
          ]
        }
      }
    }
  },
  "mappings": {
    "default": {
      "properties": {
        "title": {
          "type": "nested",
          "properties": {                       <----------- should be properties and not fields
            "normalize": {
              "type": "keyword",
              "normalizer": "my_normalizer"
            },
            "keyword": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}
{
“设置”:{
“分析”:{
“标准化器”:{
“我的正常化者”:{
“类型”:“自定义”,
“过滤器”:[
“小写”
]
}
}
}
},
“映射”:{
“默认值”:{
“财产”:{
“标题”:{
“类型”:“嵌套”,

“属性”:{因为您处理的是嵌套对象,所以需要定义其
属性
,而不是
字段

{
  "settings": {
    "analysis": {
      "normalizer": {
        "my_normalizer": {
          "type": "custom",
          "filter": [
            "lowercase"
          ]
        }
      }
    }
  },
  "mappings": {
    "default": {
      "properties": {
        "title": {
          "type": "nested",
          "properties": {                       <----------- should be properties and not fields
            "normalize": {
              "type": "keyword",
              "normalizer": "my_normalizer"
            },
            "keyword": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}
{
“设置”:{
“分析”:{
“标准化器”:{
“我的正常化者”:{
“类型”:“自定义”,
“过滤器”:[
“小写”
]
}
}
}
},
“映射”:{
“默认值”:{
“财产”:{
“标题”:{
“类型”:“嵌套”,
“财产”:{