gpt4 book ai didi

elasticsearch - 如何告诉ElasticSearch创建嵌套字段

转载 作者:行者123 更新时间:2023-12-03 02:04:50 24 4
gpt4 key购买 nike

我将数据放入ES并检查创建的映射,

我正在执行此操作:

curl -XPOST 'http://localhost:9200/testnested2/type1/0' -d '{
"p1": ["1","2","3","4"],
"users" : {
"first" : "John",
"last" : "Sm11ith"
}
}'

这是它创建的架构:
{
"testnested2":{
"mappings":{
"type1":{
"properties":{
"p1":{"type":"string"},
"users":{
"properties":{
"first":{"type":"string"},
"last":{"type":"string"}
}
}
}
}
}
}
}

我想知道是否可以告诉它“用户”是嵌套的,还是我必须为自己创建映射。

我希望ES可以像这样创建一个shema:
   curl -XPOST http://180.5.5.93:9200/testnested3 -d '{
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"type1" : {
"properties" : {
"propiedad1" : { "type" : "string"},
"users" : {
"type" : "nested",
"include_in_parent": true,
"properties": {
"first" : {"type": "string" },
"last" : {"type": "string" }
}
}
}
}
}
}'

最佳答案

默认情况下,ElasticSearch的动态映射功能将users映射为object而不是nested

如果要调整此行为,则必须在以下两种方法中明确定义users属性为nested:

  • type1映射
  • 索引的默认映射。这样,对于创建的任何类型,users属性将自动设置为nested(有关默认映射信息,请参见here)
  • 关于elasticsearch - 如何告诉ElasticSearch创建嵌套字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27718205/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com