Elasticsearch 之Mapping设置

举报
lxw1844912514 发表于 2022/03/26 22:36:40 2022/03/26
【摘要】 术语介绍 文档 Document:用户存储在es 中的数据文档,es中存储的最小单元,类似于MySQL表中的一行数据 索引 Index:由具有相同字段的文档列表组成,表示一个文档的集合,类似于table,在6.0后一个Index下只有一个type。(在6后的版本会把type去除) 节点 Node:一个Elasticsearch的运行实例...

术语介绍
文档 Document:用户存储在es 中的数据文档,es中存储的最小单元,类似于MySQL表中的一行数据
索引 Index:由具有相同字段的文档列表组成,表示一个文档的集合,类似于table,在6.0后一个Index下只有一个type。(在6后的版本会把type去除)
节点 Node:一个Elasticsearch的运行实例,是集群的构成单元
集群 Cluster:由一个或多个节点组成,对外提供服务

每一个文档都有唯一的id标识

自行指定
es自动生成

数据类型
核心数据类型
字符串型 text、keyword
数值型 long、integer、short、byte、double、float、half_float、scaled_float
日期类型 date
布尔类型 boolean
二进制类型 binary
范围类型 integer_range、float_range、long_range、double_range、date_range
如果清楚知道字段要设置的类型,最好作为选择,比如,float 比double可以节省近50%的存储空间

复杂数据类型
数组类型 array
对象类型 object
嵌套类型 nested object (与object不同是此类型会被特殊处理,文档不会和父文档混在一起)

地理位置数据类型
geo_point
geo_shape

专用类型
记录ip地址:ip
实现自动补全:completion
记录分词数:token_count
记录字符串hash值:murmur3
percolator
父子查询:join

多字段特性multi-fields
允许对同一个字段采用不同的配置,比如分词,常见例子如 对人名实现拼音搜索,只需要在人名中新增一个子字段为pinyin即可(要安装文字转拼音插件)

es 批量导入数据后,结果


  
  1. $result = $this->elasticsearch->bulkDoc($params);
  2. //var_dump($result);
  3. // $result结果:
  4. array(3) {
  5. ["took"]=>int(5)
  6. ["errors"]=>bool(false)
  7. ["items"]=>array(12) {
  8. [0]=>array(1) {
  9. ["index"]=> array(8) {
  10. ["_index"]=>string(8) "rss_data"
  11. ["_type"]=>string(8) "rss_data"
  12. ["_id"]=>string(19) "1126102154422484923"
  13. ["_version"]=> int(2)
  14. ["result"]=> string(7) "updated"
  15. ["_shards"]=> array(3) {
  16. ["total"]=> int(1)
  17. ["successful"]=> int(1)
  18. ["failed"]=> int(0)
  19. }
  20. ["created"]=> bool(false)
  21. ["status"]=> int(200)
  22. }
  23. }
  24. }
  25. };

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/120823444

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。