breedmeraw

时间:2024-07-01 16:05:39编辑:阿奇

Index 和 Type 的区别

ndex 是什么
Index 存储在多个分片中,其中每一个分片都是一个独立的 Lucene Index。这就应该能提醒你,添加新 index 应该有个限度:每个 Lucene Index 都需要消耗一些磁盘,内存和文件描述符。因此,一个大的 index 比多个小 index 效率更高:Lucene Index 的固定开销被摊分到更多文档上了。
另一个重要因素是你准备怎么搜索你的数据。在搜索时,每个分片都需要搜索一次, 然后 ES 会合并来自所有分片的结果。例如,你要搜索 10 个 index,每个 index 有 5 个分片,那么协调这次搜索的节点就需要合并 5x10=50 个分片的结果。这也是一个你需要注意的地方:如果有太多分片的结果需要合并,或者你发起了一个结果巨大的搜索请求,合并任务会需要大量 CPU 和内存资源。这是第二个让 index 少一些的理由。
Type 是什么
使用 type 允许我们在一个 index 里存储多种类型的数据,这样就可以减少 index 的数量了。在使用时,向每个文档加入 _type 字段,在指定 type 搜索时就会被用于过滤。使用 type 的一个好处是,搜索一个 index 下的多个 type,和只搜索一个 type 相比没有额外的开销 —— 需要合并结果的分片数量是一样的。
但是,这也是有限制的:
不同 type 里的字段需要保持一致。例如,一个 index 下的不同 type 里有两个名字相同的字段,他们的类型(string, date 等等)和配置也必须相同。
只在某个 type 里存在的字段,在其他没有该字段的 type 中也会消耗资源。这是 Lucene Index 带来的常见问题:它不喜欢稀疏。由于连续文档之间的差异太大,稀疏的 posting list 的压缩效率不高。这个问题在 doc value 上更为严重:为了提高速度,doc value 通常会为每个文档预留一个固定大小的空间,以便文档可以被高速检索。这意味着,如果 Lucene 确定它需要一个字节来存储某个数字类型的字段,它同样会给没有这个字段的文档预留一个字节。未来版本的 ES 会在这方面做一些改进,但是我仍然建议你在建模的时候尽量避免稀疏。[1]
得分是由 index 内的统计数据来决定的。也就是说,一个 type 中的文档会影响另一个 type 中的文档的得分。
这意味着,只有同一个 index 的中的 type 都有类似的映射 (mapping) 时,才应该使用 type。否则,使用多个 type 可能比使用多个 index 消耗的资源更多。
我应该用哪个
这是个困难的问题,它的答案取决于你用的硬件、数据和用例。首先你要明白 type 是有用的,因为它能减少 ES 需要管理的 Lucene Index 的数量。但是也有另外一种方式可以减少这个数量:创建 index 的时候让它的分片少一些。例如,与其在一个 index 里塞上 5 个 type,不如创建 5 个只有一个分片的 index。
在你做决定的时候可以问自己下面几个问题:
你需要使用父子文档吗?如果需要,只能在一个 index 里建立多个 type。
你的文档的映射是否相似?如果不相似,使用多个 index。
如果你的每个 type 都有足够多的文档,Lucene Index 的开销可以被分摊掉,你就可以安全的使用多个 index 了。如果有必要的话,可以把分片数量设小一点。
如果文档不够多,你可以考虑把文档放进一个 index 里的多个 type 里,甚至放进一个 type 里。
总之,你可能有点惊讶,因为 type 的使用场景没有你想象的多,这是正确的。由于我们上面提到原因,在一个 index 中使用多个 type 的情景其实很少。如果你的数据有不同的映射,那就给他们分配不同的 index。但是请记住,如果不需要很高的写入吞吐量,或者存储的文档数量不多,你可以通过减少 index 的分片来使集群中的分片数量保持合理。


中央五套,歌曲名

我告诉你NBA常用歌曲吧,希望你能采纳,谢谢!!!!! I still believe--Mariah Carey NBA一首广告歌曲 We Will Rock You--Queen 老歌,NBA曾用主题曲.你在中央5播放足球集锦时应该听过.摇滚. Fighter Fighter--Christina Aguilera NBA2002-03赛季的季后赛主题曲 The Game Of Love --Santa 同样是一首2002-03赛季的主题曲 I believe I can fly-- R.Kelly 向Jordan致敬的歌 空中大灌篮 MJ集锦 Hero---天后出品 Song Of Yao Ming 你明白 My happy ending--Avril Lavigne——NBA宣传曲 Yeah--Usher——NBA宣传曲 Why can't I--Liz Phair——NBA2004年的宣传曲 (中场宣传歌曲) So Young--The Corrs MNA宣传曲 Can't Stop-- Red Hot Chili Peppers NBA宣传歌曲 Elevation--U2 NBA宣传歌曲,歌中的几句歌词也正如中锋们在每次起跳时想要说的话:Higher now In the sky You make me feel like I can fly So high Elevation Dilemma--Nelly&Kelly Rowland NBA宣传曲 Outkast--Hey ya 在NBA全明星赛的开场和球员进场时,经常能听到这首歌,此单曲已连续包揽B illboard 单曲榜冠亚军近两个月。 It's My Life --Bon Jovi 摇滚 Breathless--The Corrs Bobby Womack Featuring Wayman Tisdale-Let Good Times Roll 来吧,Jazz Right Here ---Swv Get Ready For This-- Unlimited NBA宣传曲 ⊕We Will Rock You——NBA曾用主题曲,版本非常多,NBA里用的是震撼原版,来自乐队Queen ⊕I still believe——NBA一首广告歌曲,来自天后Mariah Carey ⊕The Game Of Love——同样是一首2002-03赛季的主题曲,来自拉丁摇滚第一吉他手Santana⊕Dig In——NBA2002-03赛季季后赛的主题曲,来自Lenny Kravitz Lenny的名气也许不大,但他的音乐才华却是无人能够忽视。 专集《Lenny》为他带来了如Billboard,Grammy,全美音乐节的最佳摇滚歌手。 对于一个黑人来讲,能在摇滚乐领域取得这样辉煌的成就已经是相当的不容易了。 专集中最惹火的一首歌便是《Dig In》了,而且还被选为了NBA2002-03赛季季后赛的主题曲, 可能是歌名代表了每一位球员在面对篮框时的心声:“I Just Wanna Dig In!” ⊕Elevation——NBA宣传歌曲,来自U2乐队 ⊕Can\'t Stop——NBA宣传歌曲,来自Red Hot Chili Peppers ⊕Fighter——NBA2002-03赛季的季后赛主题曲,来自Christina Aguilera ⊕Dilemma——NBA宣传曲,来自Nelly和Kelly Rowland


上一篇:无职转生动画

下一篇:六六的微博