当我像这样使用小写过滤器时,我可以不敏感地对foo字段进行大小写搜索,但是,我不能敏感地对foo字段进行大小写搜索。 就我而言,我需要根据情况决定对foo字段进行不区分大小写的大小写搜索。
{
"settings": {
"analysis": {
"normalizer": {
"lowercase_keyword": {
"type": "custom",
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"annotation_type": {
"properties": {
"foo": {
"type": "keyword"
"normalizer": "lowercase_keyword"
}
}
}
}
}
答案 0 :(得分:0)
想法是使用两个keyword
字段,如下所示:
"mappings": {
"annotation_type": {
"properties": {
"foo": {
"type": "keyword",
"fields": {
"insensitive": {
"type": "keyword",
"normalizer": "lowercase_keyword"
}
}
}
}
}
}
然后,您可以使用foo
进行区分大小写的搜索,并使用foo.insensitive
进行不区分大小写的搜索。