码迷,mamicode.com
首页 > 移动开发 > 详细

43.mapping的理解

时间:2018-02-25 19:23:09      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:app   包括   str   一个   normal   设置   直接   body   创建   

主要知识点:

mapping的理解

   

1)往es里面直接插入数据,es会自动建立索引,同时建立type以及对应的mapping

2mapping中就自动定义了每个field的数据类型。

3)不同的数据类型(如textdate等),可能有的是exact value,有的是full text

4)对于exact value,在分词并建立倒排索引的时候,是将整个值一起作为一个关键词建立到倒排索引中的;对于full text,会经过分词、normaliztion等各种各样的处理,之后才会把经过这些处理的词条建立到倒排索引中。

5exact valuefull text两种不同类型的field就决定了,在一次搜索的时候,对exact valuefield或者是full textfield进行搜索的行为也是不一样的,会跟建立倒排索引的行为保持一致;比如说exact value搜索的时候,就是直接按照整个值进行匹配,对于full text是先以相同的分词器对query string进行分词等处理之后,再去倒排索引中去搜索。

6)可以用es自带的dynamic mapping,让其自动建立mapping,包括自动设置数据类型;也可以提前手动创建indextypemapping,自己对各个field进行设置,包括数据类型,包括索引行为,包括分词器,等等

   

综上:mapping,就是indextype的元数据,每个type都有一个自己的mapping,决定了数据类型,建立倒排索引的行为,还有进行搜索的行为。

43.mapping的理解

标签:app   包括   str   一个   normal   设置   直接   body   创建   

原文地址:https://www.cnblogs.com/liuqianli/p/8469921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!