当前位置: 首页 > 知识库问答 >
问题:

自定义对象中的[值]字段在索引时会被解析为布尔值吗?

陶飞英
2023-03-14

我在将一些数据索引到ElasticSearch时遇到了一个问题

这是背景。我想索引下面的内容到弹性搜索如下,其中有一个[值]命名字段:

// source#invokingMethods
{
            "appName": "mytest1",
            "businessInfo": "pay",
            "className": "com.mytest.biz.pay.SinglePayProcessor",
            "id": "mytest1516625397380",
            "methodName": "validatePayRequest",
            "properties": {},
            "version": "17855",
            "desc": true,
            "key": 17855,
            "value": "11-aa"
 }

当我建立索引时,我从ES服务器得到一个异常:“type:“mapper_parsing_exception”,“reason:“未能解析[invokingMethods.value],“caused_by:“{”type:“非法参数_exception”,“reason:“未能解析值[11 aa],因为只允许[true]或[false]”

[value]字段是ES中保留的字段,并且无法以布尔类型进行分析吗?

如有任何反馈,我们将不胜感激。

共有1个答案

彭琛
2023-03-14

您可能没有专门将其设置为boolean,但Elasticsearch会在您第一次放入文档时隐式地找出映射类型。我猜您输入的第一个文档的“value”值可能会导致ES将其解释为布尔类型。

尝试删除索引并使用新映射重新创建索引。

 类似资料:
  • 问题内容: 这可能是一个非常愚蠢的问题,但是对数据库表中的布尔字段建立索引是否会有很多好处? 在常见情况下,例如标记为“无效”的“软删除”记录,因此大多数查询都包含,这将有助于对该字段进行单独索引,还是应将其与其他常见搜索字段组合在一起?不同的索引? 问题答案: 没有。 您可以对要搜索的字段具有较高的选择性/基数进行索引。几乎所有表都消除了布尔字段的基数。如果有的话,它将使您的写入速度变慢(降低的

  • 问题内容: 我在解析给定的JSON数据时遇到了一个奇怪的问题。我有这个JSON结构: 如何使用Newtonsoft JSON.NET库解析此结构?我尝试使用自己的JsonConverter类: 但我有一个例外: 编辑:我也试图将其保存到字典: 但我还有一个例外: 我做错了什么?谢谢您的回答。 问题答案: 您似乎想要在JSON中将a表示为对象数组,其中每个嵌套对象都有一个来自字典的键和值。您可以使用

  • 问题内容: 众所周知,Python具有对象的布尔值:如果一个类具有一个方法,则该方法的每个实例恰好返回0的值都将被评估为布尔值(例如,空列表)。 实际上,每个可迭代的空自定义对象都被评估为好像它出现在布尔表达式中一样。 现在假设我有一个带有attribute的类。我如何定义它的真值,这样,也就是说,它会进行评估,并以其他方式? 例如: 因此,应打印。 问题答案: 请参阅Python文档。

  • 但是这个代码不起作用。编译器说 我在试图理解代码的问题是什么。我认为将返回一个布尔值流,我可以通过收集这些值。

  • 我有一个Employee类,它以PersonalDetails类对象作为成员 类如下所示

  • 问题内容: 我想使用argparse解析布尔命令行参数,写为“ –foo True”或“ –foo False”。例如: 但是,以下测试代码无法满足我的要求: 可悲的是,计算结果为。即使我更改为,情况也是如此,这令人惊讶,因为评估为。 如何获取argparse进行解析,以及它们的小写字母形式是什么? 问题答案: 另一个解决方案使用了先前的建议,但存在来自以下情况的“正确”解析错误: 这对于使用默认