我正在尝试优化我的弹性搜索。我有几个布尔字段,我使用查询。我可以省去它们,但这会给我的客户端带来困难。
我的问题是,将这些字段设置为"index":"yes"
实际上是否会对我的索引性能产生显着的负面影响,例如索引时间和大小(除了明显的“存储”空间之外)?
布尔索引字段真的占用更多空间吗?似乎不应该。此外,我认为为任何数据库创建这样的索引没有任何好处,不仅是弹性搜索。
但是,我必须指定"index":"yes"
能够按它过滤,对吧?
我正在尝试优化我的弹性搜索。我有几个布尔字段,我使用查询。我可以省去它们,但这会给我的客户端带来困难。
我的问题是,将这些字段设置为"index":"yes"
实际上是否会对我的索引性能产生显着的负面影响,例如索引时间和大小(除了明显的“存储”空间之外)?
布尔索引字段真的占用更多空间吗?似乎不应该。此外,我认为为任何数据库创建这样的索引没有任何好处,不仅是弹性搜索。
但是,我必须指定"index":"yes"
能够按它过滤,对吧?
如果要搜索字段,则必须对其进行索引。默认情况下,一个boolean
字段是索引的,这样做会占用少量空间。将有一个文档列表 where"myfield": true
和"myfield": false
.
如果您不想维护此索引,那么当您想查找文档时,"myfield": true
您必须通过每个文档来检查该字段。
如果您不想使用该字段进行搜索/过滤,无论如何设置"index": "no"
,请注意,如果您将来改变对该字段的想法,您将需要重新索引所有内容!
查看有关映射的 elasticsearch 文档;核心类型部分,向下滚动到布尔类型。