我使用以下映射:
"letters": {
"mappings": {
"letter": {
"properties": {
"destCode": {
"type": "string",
"index": "not_analyzed"
},
"tag": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
我的文档包含两个字段:
以下query_String(我知道通配符不好):
"query": {
"query_string": {
"default_field": "destCode",
"query": "*604"
}
}
正确匹配0144604,4521604 destCode值。
但对于标记字段,它不适用于查询:
"query": {
"query_string": {
"default_field": "tag",
"query": "CDG*"
}
}
与值不匹配:CDG711892,CDG88978和我也试过小写cdg *但没有成功。
答案 0 :(得分:1)
在映射中,您将字段设置为未分析,因此当您索引数据时,elasticsearch不会对其进行分析,因此如果您将数据索引为小写,则在搜索大写时不会发现任何内容。 删除
index": "not_analyzed
它会起作用