图解Elasticsearch中的_source、_all、store和index属性

转自:https://blog.csdn.net/napoay/article/details/62233031

总结:
1、_source
文档存到es的时候,会存两部分内容:一部分是倒排索引;另一部分是原始的文档内容,_source存储的就是原始文档
2、index
控制某个字段是否生成倒排索引
Elasticsearch 5之前,index属性的取值有三个:
analyzed:被索引,做分词,可搜索。
not_analyzed:被索引,不做分词,可搜索。
no:不被写入索引,肯定不能搜索了。
3、_all
包含所有字段内容的超级字段,可以实现在所有字段中查询某内容,显而易见,存储空间占用更多。
4、store
关键字高亮实质上是根据倒排记录中的词项偏移位置,找到关键词,加上前端的高亮代码。
store属性用于指定是否将原始字段写入索引,默认取值为no。
高亮功能和store属性是否存储息息相关,因为需要根据偏移位置到原始文档中找到关键字才能加上高亮的片段。
在Elasticsearch,因为_source中已经存储了一份原始文档,可以根据_source中的原始文档实现高亮,在索引中再存储原始文档就多余了,所以Elasticsearch默认是把store属性设置为no。注意:如果想要对某个字段实现高亮功能,_source和store至少保留一个。

posted @ 2019-09-24 14:16  正确的方式大于结果  阅读(1196)  评论(0编辑  收藏  举报