我最近使用ElasticSearch 2.开始当我已了解分析 VS not_analyzed在映射,not_analyzed应在存储更好(https://www.elastic.co/blog/elasticsearch-storage-the-true-story-2.0和HTTPS ://www.elastic.co/blog/elasticsearch-storage-the-true-story).出于测试目的,我创建了一些索引,其中包含所有String字段(默认情况下),然后我创建了一些其他索引,其中所有字段都是not_analyzed,当我检查索引的大小并且我看到索引时出现了not_analyzed字符串大 40%!! 我在每个索引中插入相同的文档(35000个文档).
知道为什么会这样吗?我的文档是简单的JSON文档.我在每个文档中有60个字符串字段,我想将其设置为not_analyzed,我尝试将每个字段设置为未分析并创建动态模板.
我编辑添加映射,虽然我认为它没有什么特别之处:
{
"mappings": {
"my_type" : {
"_ttl" : { "enabled" : true, "default" : "7d" },
"properties" : {
"field1" : {
"properties" : {
"field2" : {
"type" : "string", "index" : "not_analyzed"
}
more not_analyzed String fields here
...
...
...
}
Run Code Online (Sandbox Code Playgroud)