显式Mapping设置与常见参数介绍

自定义Mapping的一些建议
  • 为了减少输入的工作量,减少出错概率,可以依照一下步骤
    • 创建一个临时的index,写入一些样本数据
    • 通过访问Mapping API获得该临时文件的o动态Mapping定义
    • 修改后用,使用该配置创建你的索引
    • 删除临时索引
控制当前字段是否被索引
  • index - 控制当前字段是否被索引,默认为true,如果设置成false,该字段不可被索引
Index Options
  • 四种不同级别的Index Options配置,可以控制倒排索引记录内容
    • docs - 记录doc id
    • freqs - 记录doc id和term frequencies
    • positions - 记录doc id/term frequencies / term position
    • offsets - doc id / term frequencies / term position / character offects
  • Text 类型默认记录positions,其他默认为docs
  • 记录内容越多,占用存储空间越大
null_value
  • 需要对null值实现搜索,只要keyword 类型支持设定null_value
PUT users
{
	"mappings" : {
		"properties":{
			"mobile":{
				"type":"keyword",
				"null_value":"NULL"
			}
		}
	}
}
copy_to 设置
  • _all 在7中被copy_to 所替代
  • 满足一些特定的搜索需求
  • copy_to 将字段的数值拷贝到目标字段,实现类似_all的作用
  • copy_to 的目标字段不出现在_source中
PUT users
{
	"mappings" : {
		"properties":{
			"firstName":{
				"type":"keyword",
				"copy_to":"fullName"
			}
		}
	}
}
数组类型
  • Elasticsearch中不提供专门的数组类型,但是任何字段,都可以包含多个相同类型的数值
多字段类型
  • 多字段特性
    • 使用不同的analyzer
      • 不同语言
      • pinyin字段的搜索
      • 支持为搜索和索引指定不同的analyzer
PUT products
{
	"mappings" : {
		"properties":{
			"comment":{
				"type":"keyword",
				"fields":{
					"english_comment":{
						"type":"text",
						"analyzer":"english",
						"search_analyzer":"english"
					}
				}
			}
		}
	}
}
  • Index Template:帮助你设定Mapping和Settings,并按照一定的规则,自动匹配到新创建的索引之上
  • 和Dynamic Template
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值