当前位置: 首页 > 面试题库 >

带映射的动态类型

穆理
2023-03-14
问题内容

我的数据结构非常通用。几乎所有类型的数据都适合我的数据结构。

Document{
    "id" : 12345678,
    "fields" : 
        [{
            "name" : "Book title",
            "value" : "Harry Potter",
            "type" : "string"
        },
        {
            "name" : "price",
            "value" : 34.50,
            "type" : "float"
        }]
}

另一个文档可能是这样的:

Document{
    "id" : 123456790,
    "fields" : 
        [{
            "name" : "Blog title",
            "value" : "My awesome blog",
            "type" : "string"
        }]
}

该数据可以更改,并且字段可以具有任何类型和名称。如何动态创建模板映射,以便通过数据中“类型”的值来设置映射的“类型”?例如,值:34.50,类型:在同一时间浮动相同数据“值”:“哈利·波特”,类型:字符串

我已经知道ES中已经做到了这一点,但是我无法做出真正使用文档中指定的“ type”值来实际为该值设置正确类型的映射。

在某种意义上说,指定类型对我特别有用,例如,我可以在同一数据结构上使用位置类型,日期类型,整数或…。

我一直在尝试找到在线或书籍中的任何内容,但到目前为止没有任何内容。这有可能吗?


问题答案:

首先,您将要使用嵌套类型来确保名称查询/过滤器未与同一文档的另一个字段的值混合在一起。

其次,您不能具有具有相同字段名称的不同类型,在这种情况下为“值”。因此,您将需要稍微更改发送给Elasticsearch的文档的结构。

当您说“任何类型”时,您是否可以控制类型的数量?如果这样做,您可以做一些事情,例如拥有名为“ date_value”,“ location_value”,“
float_value”(或类似名称)的字段,等等。“
string_value”并不是一个好值。它会有什么分析仪?为它的目的而命名的类型可能会更好,例如,“
keyword_value”(例如,您可能想要了解的内容),“ name_value”(可能具有模糊支持),“
text_value”(已进行分析以进行适当的搜索) ), 等等。


我做了一个可运行的示例,您可以在这里使用:https :
//www.found.no/play/gist/7596633



 类似资料:
  • 问题内容: 我正在尝试为如下对象创建动态映射: 我希望属性为嵌套类型,该类型是我在下面的映射中使用nested_feature模板定义的,并且按预期工作。但是,我也想让属性的嵌套对象中的每个属性都带有定义的其他属性。我尝试了第二个nested_template模板,但没有成功。 不幸的是,属性中的属性是从另一个进程创建的,几乎可以是任何名称/值对。关于如何使用动态模板将属性设置为嵌套的任何建议,以

  • 我试图为对象创建一个动态映射,如下所示:

  • 问题内容: 也许我缺少一些简单的东西,但仍然无法弄清楚以下内容: 从ES 6.x开始,该字段已弃用,建议使用说明(https://www.elastic.co/guide/en/elasticsearch/reference/current/copy- to.html )。 但是,给我的印象是,您需要显式指定要复制到自定义字段的字段。但是,如果我使用动态映射,则我不事先知道字段,因此不能使用? 我

  • 这是显示类型列表动态不是类型映射字符串动态的子类型“现在当我运行模拟器时,显示”类型列表动态不是类型映射字符串动态的子类型“在我的模拟器上,我如何修复它? 现在我想创建关于查找api id的程序,从我的模拟器中使用文本字段和按钮,当我把一些数字和单击按钮时,会显示该ID的数据或标题,但我只是初学者,所以如果有人认为我的代码是正确的或不正确的或者你有推荐请告诉我 My JSON JSON代码 应用程

  • 我遵循Microsoft的指导,通过Azure ADB2C启用Dynamics Portal访问。基础设施已经启动并运行良好。我使用的是"登录"政策。但是,我在声明映射功能上遇到了麻烦。 我已经根据下面链接的文档中的说明配置了以下站点设置。 身份验证/OpenIdConnect/B2C/RegistrationClaimsMapping身份验证/OpenIdConnect/B2C/LoginCla