三人行必有我师

关于_type 与 _doc 我该怎么理解?

Elasticsearch | 作者 solike8 | 发布于2020年07月02日 | 阅读数:8902

今天无意中在外网上看到了一句话,如下图,网上很多帖子都会建议将_type类型设置为_doc,那么这么说_doc岂不是就是一个类型,那么他怎么会和所谓的docid有关,而且我发现假设在用于文档相关性搜索无关的search时,排序默认用的是_doc的正序排序,感觉两者之间隐约有着一些关系,希望前辈能帮我解惑。
 
 

11.PNG

 
已邀请:

tacsklet - 公司有用到es

赞同来自: solike8

https://www.elastic.co/guide/e ... .html
我觉得参考这个可以理解。
之前的版本,在进行不评分的查询的时候如filter是需要指定过滤条件的,通过"_type": "_doc",因为索引下type都是一样的,因此不会对此再进行过滤和排序,性能会好一些。

FFFrp

赞同来自: solike8

_doc 只是一个默认类型,建议看下官方的说法guide/en/elasticsearch/reference/7.2/removal-of-types.html。

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: solike8

_type是早期版本的设计缺陷。
在5.x以前的版本里边,一个所以下面是支持多个type的。
6版本以后改为只支持一个type, type可以自定义。
7以后所有的typr就默认为_doc.
除了楼上两位回复的结合这个历史背景更容易理解。
8版本后移除type

要回复问题请先登录注册