繁体   English   中英

我可以使用 elasticsearch 仅存储非结构化数据吗?

[英]Can I use elasticsearch to store only unstructured data?

没什么可问的,但对 Elasticsearch 来说是新的。 我遇到的大多数材料,人们首先创建一个客户端,然后通过提供映射来创建索引。

我可以在没有任何映射的情况下做到这一点吗? 例如,如果我有一个Twitter索引。

我有 3 种不同的结构,一种用于推文,一种用于用户,一种用于私人消息。 我可以将所有文档(可能属于这三种类型中的任何一种)存储在同一个索引下吗?

注意:这是一个帮助我理解的假设示例。 我不想要任何代码。

你能行的。 如果你这样做会发生什么? ES 根据数据对字段进行默认类型转换。

如果你有一个字符串数据,它将被存储为text 在这种情况下,默认分析器将应用于数据。 如果您想了解更多, 默认分析器

  1. 你的数据中可能there are amazing creatures 但是当您搜索 doc contains amaze 时,您可能会期望这些数据也是其中的一部分。 你不会得到它。
  2. 语音处理
  3. 号码处理
  4. IP处理
  5. Url 搬运
  6. Email处理

更多的案件无法妥善处理。 如果您的用例满足默认映射,那么您可以提前使用 go 并使用。

稍后要更新映射,您需要重新索引数据。

首先,您可以只添加一个文档,ES 会为您创建索引和映射。 但这只有在您的集群级别设置时才有可能

 "action.auto_create_index": "false"

设置为 true,默认情况下为 true,除非有人明确将其更新为 false

PUT _cluster/settings
{
  "persistent": {
    "action.auto_create_index": "false"
  }
}

此外,即使您计划拥有一些特定的数据类型,也可能存在一些问题,例如拥有通用数据类型。

我有一篇关于这些设置和自动映射如何工作以及它的优缺点的详细文章

https://xyzcoder.github.io/2020/08/03/elastic-search-mapping-and-index-creation.ZFC35FDC70D5FC69D26E8883A822C7A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM