索引弹性搜索中没有固定类型

时间:2018-10-17 18:06:02

标签: elasticsearch elastic-stack

我仍在学习elasticsearch。我想知道,如果有一种方法可以固定某个特定键的值的类型,那我们还能索引它吗?

例如,firstName可以是“ xyz”,也可以是相同类型的另一个文档中的对象,并且这些字段有很大的组合,都可以将字符串或对象作为值,因此不是就像我可以将字符串1和对象1隔离在不同的索引中一样。

谢谢

1 个答案:

答案 0 :(得分:1)

Elasticsearch不支持这一点。

Elasticsearch确实具有“自动检测”字段类型应具有的功能。但是,当它第一次看到一个字段时,它将做出猜测,然后每个具有该字段的后续记录都必须匹配。

在您的情况下,如果首先索引其中firstName是字符串的记录,那么当您尝试在Elasticsearch中对其进行索引时,所有firstName是对象的记录都将引发错误。如果首先为对象建立索引,则firstName是字符串的所有记录都将失败。

Elasticsearch旨在帮助您快速入门,但最终没有捷径可言,您将必须:

  • 设计一个架构,该架构告诉Elasticsearch每个字段要使用的良好设置
  • 在代码中完成将记录导入Elasticsearch的工作,以决定如何导入记录