ES7中大小写不敏感的模糊匹配

在ES7.0中

如果要实现大小写的模糊查询,则首先必须要自定义 analysis,在自定义的 analysis 里面,如果是针对keyword类型的字段, analysis 要定义成 normalizer,而对于text类型的话,则需要为analyzer。如下演示的是normalizer类型的定义。

新建索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"settings": {
"analysis": {
"normalizer": {
"self_normalizer": {
"type": "custom",
"char_filter": [],
"filter": [
"lowercase",
"asciifolding"
]
}
}
}
},
"mappings":{
"properties":{
"field_1":{
"type":"keyword",
"normalizer": "self_normalizer"
}
}
}
}

此时向ES中新增几条数据:

阅读更多

Es6.X升级到Es7.x的变化

ElasticSearch6.升级至ElasticSearch7.x的一些变化

由于最近需要将Es6.x升级至Es7,所以正好记录下在升级过程中遇到的一些问题,以便以后翻阅。

区别

Es7.x系列中取消了Type

Es6系列之前,创建一个索引是需要index,type这两个缺一不可的,例如如下请求:

阅读更多