我们正在使用 ES2.3。在字段中存储 JSON 的推荐映射/类型是什么?另外,这些字段的最大推荐长度是多少?我们不需要分析该字段,它永远不会构成查询的一部分。该字段将被简单地编入索引,然后在文档中的某些其他字段与搜索匹配时返回。
该字段可能会非常大,因为它将包含一个 JSON 对象数组,定义用户数据的一个子集,其中包含姓名、电子邮件地址和问候语。实际上,该字段将包含针对一组用户的定位练习的结果,然后该字段将用于驱动向这些用户发送电子邮件的电子邮件进程。这可能会导致成千上万的用户发送电子邮件。
如果我们对最大字段长度有一些了解,那么我们就可以算出我们需要多少文档来拆分定位结果。
我们真的不想针对每个用户使用一个文档,因为这会很快在规模上失控。
如有任何见解,我们将不胜感激。
最佳答案
您可以使用类似 ( source) 的映射对其进行索引:
"json_field": {
"type": "string",
"index": "no"
整个文档将被存储,但该字段不会被索引 - 因此它不会可用于搜索并且不会弄乱您的索引。我们还将此应用于静态信息,例如指向详细信息页面或产品图片的超链接。
根据这个thread ,您也不必面对最大字段长度。在存储大型文档时,您仍然必须注意最大 Java 堆大小 ( source )。
我希望这能解决您的问题!由于这是我在 stackoverflow 上的第一个回答,非常感谢您的反馈!
干杯,多米尼克
关于json - 如何在 elasticsearch 中存储大的 JSON 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923760/