gpt4 book ai didi

elasticsearch - ES 不区分大小写的 bool 字段

转载 作者:行者123 更新时间:2023-12-03 01:17:43 28 4
gpt4 key购买 nike

我有 1m 记录,其中一列是 bool 值。它包含三个值。 FALSE, TRUE, [Blank] .

我希望将此字段视为 bool 值。由于这种情况,它不被视为 bool 值。我了解 ES 支持将 true 或“true”作为 bool 值,并且对此没有分析器。

有没有其他方法可以处理我的记录?记录也是动态的。当负载到达时,它必须被适本地存储。

最佳答案

是的,有一种方法可以使用 ingest pipeline 来转换您的字段。

您可以使用 convert processor 创建一个摄取管道,如下所示。转换为 bool 值时,转换处理器会忽略大小写,因此 "TRUE" 将被转换为 true。 "FALSE" 相同。添加 ignore_missing: true 以忽略空值:

PUT _ingest/pipeline/bool-pipeline
{
"description": "converts FALSE/TRUE to boolean",
"processors" : [
{
"convert" : {
"field" : "bool",
"type": "boolean",
"ignore_missing": true
}
}
]
}

然后,当您索引文档时,您只需在查询中指定管道,文档将在被索引之前流经 bool-pipeline
PUT index/_doc/123?pipeline=bool-pipeline
{
"bool": "TRUE"
}

PUT index/_doc/456?pipeline=bool-pipeline
{
"bool": "FALSE"
}

PUT index/_doc/789?pipeline=bool-pipeline
{
"bool": null
}

关于elasticsearch - ES 不区分大小写的 bool 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61708339/

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