gpt4 book ai didi

elasticsearch - 如何使用elasticsearch类型?

转载 作者:行者123 更新时间:2023-12-02 23:00:06 25 4
gpt4 key购买 nike

注意:如果您通过评论告诉我为什么认为这是一个烂问题,将不胜感激。请不要仅仅投下反对票,也不要告诉原因。

我们知道在索引下有一个叫做类型的概念。但是我不知道为什么我们需要它。

首先,我认为我们使用它来组织数据。就像我们的索引如下:

curl -XPOST 'localhost:9200/customer/USA/_bulk?pretty' -d '
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
'

但是在上述情况下,我们总是可以消除类型,将其移至json主体,例如:
curl -XPOST 'localhost:9200/customer/_bulk?pretty' -d '
{"index":{"_id":"1"}}
{"name": "John Doe","country":"USA" }
{"index":{"_id":"2"}}
{"name": "Jane Doe","country":"USA" }
'

这样,我们总是可以添加一个字段来替换类型。

然后我认为这可能与性能有关。我以为如果将数据分成不同的类型,则每种类型下的数据都会更少。因此查询每种类型的性能应该更好。但这也不是那样。

flex 搜索索引的性能与分片有关。因此,即使您将数据拆分为不同的类型,它仍然存储在相同的分片集下。

那为什么我们需要打字呢?

最佳答案

首先,尽管 flex 搜索在运行时确定字段的类型,但是一旦为字段分配了特定类型,它将始终期望该字段具有相同类型的值。因此,如果需要存储不同类型的数据,则需要多种类型。其次,它允许在单个索引中存储具有差异映射的多种类型。此外,如果您对特定类型的模式有把握,它会使查询特定类型变得更加容易。

关于elasticsearch - 如何使用elasticsearch类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36417906/

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