Index 和 Type 的区别,帮帮我答下面的单词的过去式和过去分词,小学生学习外语的好处和坏处...
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 的分片来使集群中的分片数量保持合理。
帮帮我答下面的单词的过去式和过去分词
be(was,were; been) cook(cooked,cook) know(knew,knowen)
swim(swam,swum) get(got,got) teach(tought,tought)
feel(felt,felt) smell(smelled,smelt) drive(drove,driven)
run(ran,run) think(thought,thought) begin(began,begun)
do(did,done) find(found,found) throw(threw,throwen)
stand(stood,stood) speak( spoke ,spoken) come(came,come)
give(gave,given) hear(heard,heard) send(sent,sent)
hurt(hurted,hurt) see(saw,seen) steal(stole,stolen)
take(took,taken) sleep(slept,slept) sit(sat,sat)
meer(是meet吧?是不是打错了?) meet(met,met)
bring(brought,brought) fly(flew,flown) wake(woke,woken)
choose(chose,chosen) lose(lost,lost) read(read,read)
rise(rose,risen) wear(wore,worn)
小学生学习外语的好处和坏处
英语已经渐渐的成为对小学生普及的一门功课,甚至有很多幼儿园都会有英语班的开设.可见英语对于现在的社会来说,已经成为基础知识学科.为了使孩子的分数提高,家长们可谓是费尽心思.那么如果没有参加辅导班的条件下我们该怎样学习英语呢?现在网上有很多的在线学习课程,包括小学英语在线课程,而且很受广大家长的喜爱,那么小学英语在线学习的优势具体表现在哪几点? (在线学习) 1.随时随地 小学在线英语培训摆脱了对线下教育地点的限制. 通常的线下教育要求家长将孩子送到固定的学习点进行学习,为了接孩子,普通家长会选择等孩子去咨询点上课,然后一起回家.这样做的结果不仅是让孩子们在路上来回走动,而且还要把父母的时间缩短成碎片.小学的在线英语培训完美地解决了这个问题.孩子们只需要联网电脑或iPad就可以上课.不仅可以节省父母的时间来接孩子,还可以减少在路上的来回,并确保孩子的安全. 2.强大的教师 教育机构雇用的大多数教师都是本地教师.如果他们是上海和北京等大城市,他们基本上可以保证教师的教学能力和教育水平.但如果它是一个稍微差一点的二线城市,就没有很多优秀的教师,而且大多数优秀教师都在上学.因此,很难找到具有足够上网能力的教师.在小学教授网络英语的外籍教师不限于某个地方,他们可以招募来自世界各地的教师,让孩子接受最好的教育. 3.家长可以随时监督 教育机构采用的教学方法一般是父母送孩子然后关闭老师上课,很少有父母可以一直跟随课堂.一旦教育机构不允许这样做,父母就会让孩子更紧张,效果更糟.小学的在线英语培训使用"透明教室",当孩子上网时,父母也可以进入教室看孩子的学习,而不会影响孩子.孩子学完一堂课,父母如果没有时间阅读,也可以观看课堂的播放. (网络题库真的海量) 以上是对小学英语在线教育优势的相关介绍,总而言之,在线英语学习打破时间和地域限制,主要是基于学生可以随时随地学习;改变时间的灵活性确实是小学英语培训的最佳模式.
下一篇:没有了