建设有一个网站需要什么,青海建设厅质检站网站,网上开店流程步骤,网站建设英文文献文章目录 一、基本的数据类型1.1、keyword1.2、text1.3、数值类型1.4、布尔类型1.5、时间类型 二、复杂的数据类型三、字段映射 一、基本的数据类型
1.1、keyword keyword类型是不进行切分的字符串类型。这里的“不进行切分”指的是#xff1a;在索引时#xff0c;对keyword… 文章目录 一、基本的数据类型1.1、keyword1.2、text1.3、数值类型1.4、布尔类型1.5、时间类型 二、复杂的数据类型三、字段映射 一、基本的数据类型
1.1、keyword keyword类型是不进行切分的字符串类型。这里的“不进行切分”指的是在索引时对keyword类型的数据不进行切分直接构建倒排索引在搜索时对该类型的查询字符串不进行切分后的模糊匹配。一般查询这种类型的数据时使用term查询。
1.2、text text类型是可进行切分的字符串类型。这里的“可切分”指的是在索引时可按照相应的切词算法对文本内容进行切分然后构建倒排索引在搜索时对该类型的查询字符串按照用户的切词算法进行切分然后对切分后的模糊匹配程度打分。一般情况下搜索text类型的数据时应该使用match搜索。
1.3、数值类型 ES支持的数值类型有long、integer、short、byte、double、float、half_float、scaled_float和unsigned_long等。对于数值型数据一般使用term搜索或范围搜索。
1.4、布尔类型 布尔类型使用boolean定义用于表示业务中的二义性。写入或查询该类型的数据时其值可以使用true或false或者使用字符串类型的“true”或“false”。
1.5、时间类型
在ES中日期类型的名称为date。ES中存储的日期是标准的UTC格式。
一般使用如下形式表示日期类型数据
格式化的日期字符串毫秒级的长整型表示从1970年1月1日0点到现在的毫秒数秒级别的整型表示从1970年1月1日0点到现在的秒数 日期类型的默认格式为strict_date_optional_time||epoch_millis。其中strict_date_optional_time的含义为严格的时间类型支持yyyy-MM-ddyyyyMMddyyyyMMddHHmmssyyyy-MM-ddTHH:mm:ssyyyy-MM-ddTHH:mm:ss.SSS和yyyy-MM-ddTHH:mm:ss.SSSZ等格式epoch_millis的含义是从1970年1月1日0点到现在的毫秒数。 日期类型默认不支持yyyy-MM-dd HH:mm:ss格式如果经常使用这种格式可以在索引的mapping中设置日期字段的format属性为自定义格式。下面的示例将设置create_time字段的格式为yyyy-MM-dd HH:mm:ss
PUT /hotel
{mappings:{properties:{title:{type:text},create_time:{type:date,format:yyyy-MM-dd HH:mm:ss}}}
}二、复杂的数据类型 ES的复杂数据类型还有数组类型、对象类型、地理类型和多字段等工作中还没接触到所以不做记录。
三、字段映射 当字段没有定义类型时ES可以根据写入的数据自动定义该字段的数据类型这种机制叫做动态映射。在一般情况下如果使用基本数据类型数据最好先把数据类型定义好因为ES的动态映射生成的字段类型可能与用户的预期有差别。