在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

es如何实现身份证号分词,前6位不分词,后12为每位分词

Elasticsearch | 作者 superman | 发布于2018年07月31日 | 阅读数:4273

实现身份证号分词,前6位不分词,后12为每位分词
已邀请:

大慈大悲掌 - 要我一直笑吗?https://www.jianshu.com/u/bfa06856a726

赞同来自:

存成这样的数据结构
{
"id":"xxx"
"number":原文
"number.number_6":text不分词
"number.number_12":1元分词
}

superman

赞同来自:

"number": {
"type": "keyword",
"fields": {
"number_6": {
"analyzer": "analyse1",
"type": "text"
},
"number_12": {
"analyzer": "analyse2",
"type": "text"
}
}
}
 
假如我现在是这个mapping,身份证号是number,然后number_6是分词后得到的身份证前6位,number_12是身份证后12位是每位分词的

zqc0512 - andy zhou

赞同来自:

你这个在数据写入的时候拆分下啊,多来两个字段 OK?
 

zyb1994111

赞同来自:

加两个字段,前六位的和后十二位的,前六位用keyword,后面用ngram

要回复问题请先登录注册