我正在考虑使用ElasticSearch作为大型对象的搜索引擎。在一台机器上大约有5亿个物体。对于执行高级查询,far is Elasticsearch是一个很好的解决方案。但有一个问题是,我确实找到了在文档字段上创建二级索引的技术。在elasticsearch中,是否有可能像在列上的MySQL中那样创建第二个indecies?或者,是否实现了其他技术来加速对字段值的搜索?我使用的是单个服务器环境,每个行/对象必须存储大约300个字段。目前,我的数据库中大约有5亿个对象。
在进阶时谢谢!
文档中的空字段是否占用elasticsearch中的空间?例如,在下面的情况下,用于存储文档的总空间在案例A中与在案例B中相同(假设字段“颜色”是在映射中定义的)。
Case A
{"features":
"price": 1,
"colors":[]
}
Case B
{"features":
"price": 1,
}
在我们当前的Spring-data-elasticsearch v.4.0.4应用程序中,我们在POJO上使用@Document,并且我们注意到,只要我们有一个空值字段,该字段在Elasticsearch中就不会有映射类型。因此,当我们在此字段上运行查询和排序时,将出现Elasticsearch错误No mapping found for [view_date] in order to sort on 我们尝试使用v.4.1.0中@Field的storeNulValue选项,该字段显示在索引中。但是,在Elasticsearch中仍然没有此字段的映射类型,并且当我们对此空值字段进行排序时,我
我在elasticsearch中添加了一些新的映射/字段.
我正在使用elasticsearch客户端。
我的脚步:
1-使用新的映射/字段创建TMP索引- OK
2-从旧索引重新索引到TMP索引- OK (te新索引有新字段)
3-从TMP索引到旧的索引- KO (我失去了新的映射/字段,我不知道为什么)
4-删除TMP索引- OK
这里有旧的索引(好的)和旧的映射(坏)。
如何在原始索引中有新的映射/字段?
谢谢你的帮助