gpt4 book ai didi

elasticsearch - 分析与未分析:存储大小

转载 作者:行者123 更新时间:2023-12-04 07:35:33 25 4
gpt4 key购买 nike

我最近开始使用ElasticSearch2。由于我不了解在映射中分析了 not_analyzed ,因此not_analyzed应该在存储方面更好(https://www.elastic.co/blog/elasticsearch-storage-the-true-story-2.0https://www.elastic.co/blog/elasticsearch-storage-the-true-story)。
出于测试目的,我创建了一些带有所有分析的String字段的索引(默认情况下),然后创建了一些带有所有字段为not_analyzed的索引,当我检查索引的大小并看到带有not_analyzed的字符串比大40%!我在每个索引中插入了相同的文档(35000个文档)。

知道为什么会这样吗?我的文档是简单的JSON文档。我在每个文档中都有60个要设置为not_analyzed的String字段,我尝试将每个字段都设置为不分析,还尝试创建动态模板。

我编辑添加映射,尽管我认为它没有什么特别之处:

 {
"mappings": {
"my_type" : {
"_ttl" : { "enabled" : true, "default" : "7d" },
"properties" : {
"field1" : {
"properties" : {
"field2" : {
"type" : "string", "index" : "not_analyzed"
}
more not_analyzed String fields here
...
...
...
}

最佳答案

not_analyzed字段仍被索引。他们只是事先没有应用任何转换(“分析”-用Lucene的话来说)。
例如:

(Doc 1) "The quick brown fox jumped over the lazy dog"

(Doc 2) "Lazy like the fox"



  1. Simplified postings list created by Standard Analyzer (default for analyzed string fields - tokenized, lowercased, stopwords removed):
"brown": [1]  
"dog": [1]
"fox": [1,2]
"jumped": [1]
"lazy": [1,2]
"over": [1]
"quick": [1]
值(value)30个字符的字符串数据

  1. Simplified postings list created by "index": "not_analyzed":
"The quick brown fox jumped over the lazy dog": [1]  
"Lazy like the fox": [2]
字符串数据值(value)62个字符

分析导致对输入进行标记化和规范化,以便能够使用术语查找文档。
但是结果是,文本的单位被简化为归一化的术语(相对于整个域为 not_analyzed),并且所有文档中所有多余的(归一化的)术语都被折叠成 单个逻辑列表,为您节省了所有空间通常会被重复的术语和停用词占用。

关于elasticsearch - 分析与未分析:存储大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404771/

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